WPF:WebBrowser控件打开本地页面报安全提示的问题及解决


最近使用百度地图API,需要在本地做一个html文件承,加载本地文件时出现该异常,提示:WebBrowser提示 为帮助保护你的安全,您的Web浏览器已经限制此文件显示可能访问您的计算机的活动内容,如图:



每次都需要进行如下操作,才能显示百度地图网页,


这样虽说不影响功能的实现,不过,这样一来用户体验实在是差,二来本着学习的态度,也应该去解决这样BUG一样的存在,

纠结了几天之后,问题终于接解决了,借此机会,把解决方法再次发布出来,供大家参考:

问题:WPF WebBrowser 加载 html ,出现 运行 脚本和 activeX 控件,安全警告。

问题分析:大致是——如果用户把因特网上的网页保存到本地硬盘,再用IE打开的时候,网页将运行在Local Machine Zone中。XP SP2之前,Local Machine Zone的网页具有所有权限,这就造成了安全漏洞,因此从XP SP2后,Local Machine Zone中的网页就默认禁用ActiveX和脚本了。

解决:一个相对简单的方法——只需要在你的HTML首行添加如下代码即可隐藏安全提示条:

<!-- saved from url=(0031)about:http://api.map.baidu.com/ -->  

(备注:在笔者发帖求助之前,此方法曾经试过,不过,当时没有成功,是因为笔者<!-- saved from url=(0014)about:internet -->的本地加载的HTML链接“internet”部分填写错误,网页嵌入百度地图和使用百度地图api的话,按如上代码添加HTML链接即可)


实际效果图:


这样我们的问题便解决了,如果大家有更好的解决方案,欢迎回复讨论,,

猜你喜欢

转载自blog.csdn.net/WalterBrien/article/details/80105281