在使用 webbrowser 控件一段时间后,我决定尝试一下 gecko,因为我遇到过 webbrowser 的问题,速度慢且性能下降。我下载了最新版本的 geckofx (16.0.0.2) 和 xulrunner(16.0.2) 并创建了一个 geckoWebbrowser 控件。当我尝试导航到网页时,我收到一条 javascript.alert,提示我的网络浏览器不受支持,我应该使用 firefox>2.0.0.2,这当然是荒谬的。
问题是 - 我假设 - 检测到的用户代理字符串是“Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/ /16.0”而不是正常的 firefox 字符串“Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/ /16.0” rv:18.0) Gecko/20100101 Firefox/18.0"。控件的用户代理字符串中缺少“20100101”和“Firefox”。有没有办法用C#来改变它?
我使用 C# winforms .net 4.5。
来自http://www.webprogrammingblog.com/geckofx-set-user-agent/:
public Form1()
{
InitializeComponent();
Gecko.Xpcom.Initialize("c:\\tools\\xulrunner");
myBrowser = new GeckoWebBrowser();
myBrowser.Parent = this;
myBrowser.Dock = DockStyle.Fill;
string sUserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.1) Gecko/20090624 Firefox/3.5 (.NET CLR 3.5.30729)";
Gecko.GeckoPreferences.User["general.useragent.override"] = sUserAgent;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)