允许System.Windows.Forms.WebBrowser运行javascript。

问题描述 投票:3回答:3

说真的 在试图回答这个问题之前,请先把问题读完。 "使用不同的浏览器 "并不能回答这个问题。

问题是这样的。 当我无法控制输入的网页时 我如何让System.Windows.Forms.WebBrowser控件 显示一个嵌入了Javascript的网页?我已经看到有人建议为IE模拟添加注册表值(允许javascript在windows窗体网页浏览器上运行。)和改变Internet OptionsSecurity中的脚本设置。Internet security options

我已经这样做了.

所以,这里是测试--使用System.Windows.Forms.WebBrowser控件访问www.hulu.com。Still getting this

但我们还是得到了这个结果。

有其他的想法吗?

javascript c# winforms webbrowser-control
3个回答
10
投票

设置属性 ScriptErrorsSuppressedWebBrowser 控制到 true 来抑制JavaScript错误信息。


为了让hulu.com上的代码能够执行,你必须在一种模式下运行Webbrowser控件,使其能够以较新的版本功能运行。这只能通过设置注册表项来实现。

请看 本问题及答案 以了解详情。


要指定。我有一个演示程序打开hulu网站 嵌入的WebBrowser控件名为WindowsFormsApplication5. exe。

在没有修改注册表的情况下,我看到hulu的说明是没有启用JavaScript支持。当用Fiddler嗅探网络传输时,我看到向Hulu服务器发送了以下请求。

GET http://www.hulu.com/ HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, application/x-ms-application, application/xaml+xml, application/x-ms-xbap, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*
Accept-Language: de-DE,de;q=0.5
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; Creative AutoUpdate v1.41.09)
Host: www.hulu.com
Connection: Keep-Alive
Pragma: no-cache

注意User -Agent字符串中的版本号 "7. 0"

现在我在HKEY_CURRENT_USER/SOFTWARE/Microsoft/Internet Explorer/Main/FeatureControl/FEATURE_BROWSER_EMULATION中添加了一个REG_DWORD类型的注册表键,名称为 "WindowsFormsApplication5.exe",值为0x00002af9(11001)。

结果,Hulu网站成功地显示在我的演示应用程序中,我看到以下请求通过Fiddler发送。

GET http://www.hulu.com/ HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, application/x-ms-application, application/xaml+xml, application/x-ms-xbap, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*
Referer: http://www.hulu.com/
Accept-Language: de-DE,de;q=0.5
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; Trident/7.0; rv:11.0) like Gecko
Host: www.hulu.com
Connection: Keep-Alive

请注意注册表更改后不同的User-Agent字符串。


Registry setting to use IE 11 in WebBrowser Control in Demo Application

Demo Application showing Hulu Website after registry changes



-1
投票

可能的方法。

© www.soinside.com 2019 - 2024. All rights reserved.