WPF WebBrowser不会显示Google Maps

时间:2019-05-24 21:24:26

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

这是该问题的后续问题:

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)));

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

  

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

我正在单击它,允许被阻止的内容,然后我收到一条消息,指出页面中的脚本有错误。我允许它继续,并且浏览器保持空白。为什么?

1 个答案:

答案 0 :(得分:0)

在寻找答案之后,我遇到了这个博客条目:

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版本设置为edge,以便能够呈现HTML5。

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

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

这两项更改之后,它将起作用