rlr*_*nft 2 javascript c# webbrowser-control winforms
认真地 - 在尝试回答之前一直阅读问题. "使用其他浏览器"不回答这个问题.
问题是: 当我无法控制传入页面时,如何获取System.Windows.Forms.WebBrowser控件以显示嵌入了Javascript的网页?
我已经看到人们建议为IE模拟添加注册表值(允许javascript在Windows窗体Web浏览器上运行)并更改Internet选项/安全性中的脚本设置.

我已经做到了.
所以,这是测试 - 使用System.Windows.Forms.WebBrowser控件访问www.hulu.com.

我们仍然得到这个.
还有其他想法吗?
设置属性ScriptErrorsSuppressed的的WebBrowser来控制true,以抑制JavaScript错误消息.
为了允许hulu.com上的代码执行,您必须以一种模式运行Webbrowser控件,使其以较新的版本功能运行.这只能通过设置注册表项来完成.
有关详细信息,请参阅此问题和答案.
要指定:我有一个演示应用程序,用于打开名为WindowsFormsApplication5.exe的嵌入式WebBrowser控件的hulu网站.
如果没有注册表更改,我会看到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
Run Code Online (Sandbox Code Playgroud)
请注意User-Agent字符串中的版本号"7.0".
我现在在HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION中添加名为"WindowsFormsApplication5.exe"的REG_DWORD类型的注册表项和值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
Run Code Online (Sandbox Code Playgroud)
注意注册表更改后注意不同的User-Agent字符串.
| 归档时间: |
|
| 查看次数: |
27792 次 |
| 最近记录: |