類別需標記兩個屬性,否則呼叫失敗:
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
[ComVisible(true)]
public class MyForm : Form { ... }
// 網頁端 JS
function ShopXG(info) { alert('編程入門網'); }
// C# 呼叫
webBrowser1.Document.InvokeScript("ShopXG", new object[] { "參數" });
// C# 方法
public void ShowMessage(string msg) { MessageBox.Show(msg); }
// 網頁端 JS
function InvokeFunc() { window.external.ShowMessage('呵呵'); }
ComVisible(true) 讓類別對 COM 可見,供 JS 存取window.external 對應 C# 公開的公用方法InvokeScript 參數為陣列,對應 JS 函式參數