当我使用WebBrowser控件查看WPF应用程序中的网页时,我遇到了很多脚本错误。为了抑制这些,我使用了此链接中概述的“无声”方法:http://social.msdn.microsoft.com/Forums/vstudio/en-US/4f686de1-8884-4a8d-8ec5-ae4eff8ce6db/new-wpf-webbrowser-how-do-i-suppress-script-errors?forum=wpf
void wbMain_Navigated(object sender, NavigationEventArgs e)
{
SetSilent(WebBrowser, true);
}
public static void SetSilent(WebBrowser browser, bool silent)
{
if (browser == null)
throw new ArgumentNullException("browser");
FieldInfo webBrowserInfo = browser.GetType().GetField("_axIWebBrowser2", BindingFlags.Instance | BindingFlags.NonPublic);
object comWebBrowser = null;
if (webBrowserInfo != null)
comWebBrowser = webBrowserInfo.GetValue(browser);
if (comWebBrowser != null)
comWebBrowser.GetType().InvokeMember("Silent", BindingFlags.SetProperty, null, comWebBrowser, new object[] { silent });
}
但现在的问题是因为“无声”属性已设置,我的网页右键单击选项都不起作用。 (我的Flash网站上有许多右键单击选项可弹出各种菜单。)
如果我不使用上面的解决方法,则右键单击操作会显示脚本错误:
“此页面上的脚本出错”
我该如何解决这个问题?