如何使.NET嵌入式web浏览器接受复杂的HTML+;JS内容

如何使.NET嵌入式web浏览器接受复杂的HTML+;JS内容,.net,webview,browser,windows-runtime,.net,Webview,Browser,Windows Runtime,我正在试验Windows8“现代”应用程序编程。我要做的是使用WinRT WebView组件托管由web映射API呈现的映射 我创建了一个小型的“Metro”/C#应用程序,它承载一个WebView作为主要的UI组件。我还创建了一个使用OpenLayers的简单HTML页面。当我在IE或Win8的Chrome中打开此HTML页面时,页面将正确呈现,即显示示例地图 当我运行“Metro”应用程序时,不会显示任何内容,也不会显示或记录任何错误。没什么 我切换到一个简单的WinForms应用程序,认为

我正在试验Windows8“现代”应用程序编程。我要做的是使用WinRT WebView组件托管由web映射API呈现的映射

我创建了一个小型的“Metro”/C#应用程序,它承载一个WebView作为主要的UI组件。我还创建了一个使用OpenLayers的简单HTML页面。当我在IE或Win8的Chrome中打开此HTML页面时,页面将正确呈现,即显示示例地图

当我运行“Metro”应用程序时,不会显示任何内容,也不会显示或记录任何错误。没什么

我切换到一个简单的WinForms应用程序,认为要么我对WinRT的理解不成熟,要么HTML中有错误(尽管为什么它在两种浏览器中都显示…)

当我运行WinForms应用程序时,我确实收到一个错误。此时会出现一个对话框,其中包含:

“此页上的脚本中出现错误。” 错误:语法错误 URL:about:OpenLayers.js

在一些谷歌搜索之后,我遇到了一个名为“”的微软IE扩展(在这一点上,我认为“魔鬼标记”更合适)。显然,如果你想在IE中托管一个包含“活动内容”的网页,你必须用一个标记来注释你的HTML内容,表明你可以这样做。基本上,格式适当的HTML注释必须出现在HTML内容的前2048字节中

就我的情况而言,合适的“网络标志”应该是:

“从url=(0014)保存关于:internet”

我将其作为HTML注释放置在该部分的第一个元素中

这没什么区别。运行WinForms应用程序时也会发生相同的错误。当然,当我运行IE时,一切都正常

这个问题与增强的IE安全性有关(我不会在这里详细说明)。MS使得使用包含“活动内容”的网页变得更加困难(!!!),特别是当网页是从本地缓存显示时,而不是从web服务器获取时。甚至在处理某些问题时也存在一些问题

而且,对于如何继续下去,我有些不知所措。我曾尝试更改IE的安全设置,以允许“活动内容”,我使用了“网络标记”,无论是否更改安全设置。似乎什么都不管用


那么,有没有人有处理这件事的经验?这真让我困惑。

另一个网站的建议是使用基于文件的URL,即html文件的文件///规范。这对基于WInForms的应用程序有效,但对WinRT应用程序无效。有趣的WinRT文档表明,这不能通过阅读本地内容直接完成。需要调查在HTML和JS中作为应用程序内容的构建。