System.Windows.Forms.WebBrowser脚本访问问题

时间:2014-05-22 08:22:14

标签: c# winforms internet-explorer browser

我目前遇到一些使用System.Windows.Forms.WebBrowser构建的门户问题,他们没有像IE中那样正确加载内容。

我已经使用FEATURE_BROWSER_EMULATION将仿真设置为使用IE11,我不明白为什么它不像安装的IE11那样。

显示“浏览器中的脚本访问被拒绝”或者根本没有加载内容,说我需要升级浏览器。

1 个答案:

答案 0 :(得分:0)

也许您的代码存在问题。查看Internet Feature Controls (B..C)

值11001 - 强制网页以IE11边缘模式显示,而不管!DOCTYPE指令。您需要在目标系统上安装IE11。

private static void WebBrowserVersionEmulation()
{
    const string BROWSER_EMULATION_KEY = 
    @"Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION";
    //
    // app.exe and app.vshost.exe
    String appname = Process.GetCurrentProcess().ProcessName + ".exe";
    //
    // Internet Explorer 11. Webpages are displayed in IE11 edge mode, regardless of the !DOCTYPE directive.
    const int browserEmulationMode = 11001;

    RegistryKey browserEmulationKey =
        Registry.CurrentUser.OpenSubKey(BROWSER_EMULATION_KEY,RegistryKeyPermissionCheck.ReadWriteSubTree) ??
        Registry.CurrentUser.CreateSubKey(BROWSER_EMULATION_KEY);

    if (browserEmulationKey != null)
    {
        browserEmulationKey.SetValue(appname, browserEmulationMode, RegistryValueKind.DWord);
        browserEmulationKey.Close();
    }
}