6

使用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:18.0) Gecko/20100101 Firefox/18.0"。控件的用户代理字符串中缺少“20100101”和“Firefox”。有没有办法使用 C# 来改变它?我使用 C# winforms .net 4.5。

4

1 回答 1

12

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;
}
于 2013-02-01T19:33:13.943 回答