1.設置js彈窗控制器
webView.JsDialogHandler = this; //js彈窗控制
this表示本類對象,所以本類要實現IJsDialogHandler接口
2.實現IJsDialogHandler接口接口方法
public bool OnJSAlert(IWebBrowser browser, string url, string message) { MessageBox.Show(message); return true; //阻止js彈 } public unsafe bool OnJSConfirm(IWebBrowser browser, string url, string message, bool* retval) { DialogResult result = MessageBox.Show(message, "提示", MessageBoxButtons.YesNo); bool value = result == DialogResult.Yes ? true : false; // retval = (bool *)GCHandle.Alloc(value).AddrOfPinnedObject().ToPointer(); //獲取托管內存地址,異常 // retval = &value; //改變指針失敗 *retval = value; return true; } public unsafe bool OnJSPrompt(IWebBrowser browser, string url, string message, string defaultValue, bool* retval, ref string result) { //交互消息 string r = string.Empty; this.Invoke(new Action(() => { r = Microsoft.VisualBasic.Interaction.InputBox(message, "提示", defaultValue); })); result = r; if (result == defaultValue) { *retval = false; } else { *retval = true; } return true; }