1

我正在试验 Windows 8“现代”应用程序编程。我想做的是使用 WinRT WebView 组件来托管由OpenLayers Web 映射 API 呈现的地图。

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

当我运行“Metro”应用程序时,什么都没有出现,也没有显示或记录错误。没有什么。

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

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

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

经过一些谷歌搜索,我遇到了一个名为“ web 标记”的 Microsoft IE 扩展(此时,我认为“恶魔标记”更合适)。显然,如果你想在 IE 中托管一个包含“活动内容”的网页,你必须用一个标记来注释你的 HTML 内容,表明它是可以的。基本上,适当格式的 HTML 注释必须出现在 HTML 内容的前 2048 个字节中。

对于我的情况,适当的“网络标记”似乎是:

“保存自 url=(0014)about:internet”

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

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

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

而且,我不知道如何进行。我尝试更改 IE 的安全设置以允许“活动内容”,我使用了“网络标记”,无论是否更改安全设置。似乎没有任何效果。

那么,SO中是否有人有处理此问题的经验?这真的让我很困惑。

4

0 回答 0