【问题标题】:WPF WebBrowser won't show Google MapsWPF WebBrowser 不会显示谷歌地图
【发布时间】:2019-05-24 21:24:26
【问题描述】:

这是这个问题的后续问题:

Load local HTML file in a C# WebBrowser

我通过简单地复制此链接中的示例创建了一个 html 文件:

https://developers.google.com/maps/documentation/javascript/examples/marker-simple

当我通过双击打开常规网络浏览器(即 Firefox)的文件来运行它时,它可以工作。然后我将 HTML 添加到我的 sln,并将文件的属性更改为始终复制到输出目录。然后我尝试像这样运行它:

string curDir = Directory.GetCurrentDirectory();
webBrowser.Navigate(new Uri(String.Format("file:\\{0}\\mymap.html", curDir)));

浏览器打开,顶部有黄色警告:

“为了帮助保护您的安全,您的浏览器已限制此文件显示活动内容..”

我点击它,允许被阻止的内容,然后我收到一条消息,说页面中的脚本有错误。我允许它继续,但浏览器仍然空白..这是为什么?

【问题讨论】:

    标签: c# wpf google-maps webbrowser-control


    【解决方案1】:

    在寻找答案后,我偶然发现了这篇博文:

    https://weblog.west-wind.com/posts/2011/May/21/Web-Browser-Control-Specifying-the-IE-Version

    首先对于黄色警告,只需在页面的html 标记下添加此注释行:

    <!-- saved from url=(0016)http://localhost -->
    

    您可以在此处阅读更多信息:

    https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/compatibility/ms537628(v=vs.85)

    关于地图和脚本错误:

    您似乎需要将 WebBrowser 的 IE 版本设置为边缘,以便能够呈现 HTML5。

    将此行设置为head 标签内的第一行:

    <meta http-equiv="X-UA-Compatible" content="IE=Edge">
    

    经过这2个改动,就可以了

    【讨论】:

    • IE=Edge 无法修复脚本错误
    猜你喜欢
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多