Webbrowser控制如何更改窗口javascript属性?

时间:2015-10-16 13:58:46

标签: javascript c# .net webbrowser-control

我需要更改User-Agent控件的webbrowser。但是没有使用Navigating方法的重载(因为脚本不是从头部获取用户代理,而是从window.navigator.appName属性获取。有没有办法在webbrowser中更改此属性?< / p>

谢谢!

1 个答案:

答案 0 :(得分:2)

update:window.navigator应该是一个属性,你可以通过Javascript中的IDispatchEx(CLR运行时包装器上的IExpando)覆盖它。

之类的东西
var document=webBrowser1.Document.DomDocument as MSHTML.IHTMLDocument2;
var expando =(IExpando)document.parentWindow;
expando.RemoveProperty(expando.GetMember("navigator",BindingFlags.Instance | BindingFlags.Public));
expando.AddProperty("navigator").SetValue(expando,myNavigator);

此处myNavigator是COM可见类型的变量,具有appName属性。

不工作: pinvoke UrlMkSetSessionOption并传递URLMON_OPTION_USERAGENT作为选项标记。