我的应用程序运行环境:
操作系统:XP
开发工具:Visual Studio 2008 SP1 .Net Framework 3.5
最近的一个项目中使用到了Winform 中的 WebBrower 控件,需要在Winform中嵌套一个WEB应用程序。
但是在使用的过程中遇到了问题,WEB应用程序中基本全部使用JS或JQuery编写,当把WEB程序放到WebBrower控件时,出现如下错误:
“当前页面脚本运行错误,是否要继续运行?”----不知道怎样插入图片
从网上找过资料,解决方案是修改注册表项:
1. 如果使用的浏览器为IE8标准版,则需要修改如下注册表值:
[(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
"test.exe" = dword 8000 (Hex: 0x1F40)
2. 如果使用的浏览器为IE7标准版,则需要修改如下注册表值:
[(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
"test.exe" = dword 7000 (Hex: 0x1B58)
3. 如果使用的是IE8 RTM版,则需要修改如下注册表值:
[(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
"test.exe" = dword 8888 (Hex: 0x22B8)
更多IE浏览器版本的配置可以参考下表:
IE8 Beta 1 | IE8 Beta 2 | IE8 RC | IE8 RTM | |
Feature Control Key |
FEATURE_NATIVE _DOCUMENT_MODE |
FEATURE_BROWSER_EMULATION | ||
IE8 Standards Mode |
80000 (0x13880) | 8 | 8 |
8000 (0x1F40) |
IE7 Standards Mode |
70000 (0x11170) | 7 | 7 |
7000 (0x1B58) |
IE8 Standards Mode (Forced) |
- | - | - | 8888 (0x22B8) |
通过以下步骤修改完注册表项后,即可使用WEBBROWER CONTROL,可以添加如下事件:
webBrowser1.Navigate("http://localhost:8374/pages/welcome.htm");
事件添加完成,重新编译Winform应用程序,然后打开程序所在的目录 ..\bin\debug\ test.exe,双击test.exe,可以看到带有JS或JQuery脚本的网站也可以正常运行。