在使用webbrowser控件一段时间后,我决定尝试gecko,因为我遇到过webbrowser的问题,速度低,性能下降。我下载了最新版本的geckofx(16.0.0.2)和xulrunner(16.0.2),并创建了一个geckoWebbrowser控件。当我尝试导航到一个网页时,我得到了一个javascript.alert,我的网页浏览器不受支持,我应该使用firefox> 2.0.0.2,这当然是荒谬的。 问题是 - 我假设 - 检测到的useragent字符串是“Mozilla / 5.0(Windows NT 6.1; WOW64; rv:16.0)Gecko / /16.0”而不是正常的firefox字符串“Mozilla / 5.0(Windows NT 6.1; WOW64; rv:18.0)Gecko / 20100101 Firefox / 18.0“。控件的useragent字符串中缺少'20100101'和'Firefox'。有没有办法用C#改变它? 我使用C#winforms .net 4.5。
答案 0 :(得分:11)
来自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;
}