WPF調用代碼:
new WebBrowser().InvokeScript("addAreasBoundary", new object[] { new object[] { "北京市", "天津市" } });
JS代碼:
function addAreasBoundary(areas) {
areas = areas.toArray();轉換成js數組
alert(areas);
}
在JS函數如上的前提下,WPF調用採用如下代碼報錯:
1.new WebBrowser().InvokeScript("addAreasBoundary", new object[] { "北京市", "天津市" } );
程序會認爲調用的是js函數有兩個參數,故報錯。
2.new WebBrowser().InvokeScript("addAreasBoundary", new object[] { new string[] { "北京市", "天津市" } });
js只能識別VBArray和Variant objects,所以c#的string數組傳入js後不能通過js的.toArray()方法轉換成js數組,故報錯。
3.new WebBrowser().InvokeScript("addAreasBoundary", new object[] { new object[] { 自定義對象實例, 自定義對象實例} });
純js無法操作自定義對象,故報錯。
以上純屬個人觀點,如果有誤,歡迎批評指正。