【问题标题】:Can web hosted javascript files be included in metro apps?网络托管的 JavaScript 文件可以包含在 Metro 应用程序中吗?
【发布时间】:2012-03-22 02:06:35
【问题描述】:

我想在我的 Metro 应用程序中包含一个 Web 托管的 javascript 片段作为小部件。目标是能够在 Metro 应用程序之外维护小部件的状态,以便对小部件代码的更改不需要重新打包并发布到应用商店。

例如(在我的地铁应用程序的 html 文件中)

<script type="text/javascript" src="https://link.to.website/widget.js">

【问题讨论】:

  • 如果你这样做,确保它在没有互联网访问的情况下也能工作,否则它可能会被商店拒绝。

标签: javascript windows-8 microsoft-metro windows-runtime


【解决方案1】:

如果 Metro 应用程序允许您连接到网络(如果应用程序不限于本地或类似应用)应该是可能的。

还有:

<script src="https://link.to.website/widget.js"></script>

不是

<script type="text/javascript" src="https://link.to.website/widget.js">

由于 JavaScript 是 script 的标准类型,现在您不必声明它。

【讨论】:

    【解决方案2】:

    了解本地环境和网络环境之间的差异很重要。此处记录了特定限制:http://msdn.microsoft.com/en-us/library/windows/apps/hh465373.aspx - 值得注意的是,您可以包含来自在 Web 上下文中运行的页面的外部脚本文件。

    此外,您的应用始终必须在您的包中包含一个顶级页面。此页面必须在本地上下文中并通过 ms-appx 方案加载。这个外部页面可以选择在 web 上下文中加载 iframe 页面(通过 ms-appx-web 用于包内文件或通过 http/https 用于托管在 web 上的页面。)

    您应该记住的是,即使您可以将外部脚本加载到 Web 上下文页面中,该脚本也无法访问 Windows 运行时 API。如果您希望您的外部脚本能够调用 WinRT,您可以使用HTML5 Web Messaging APIs 创建一个通信通道。

    【讨论】:

      猜你喜欢
      • 2011-05-10
      • 2011-10-20
      • 2012-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-06
      相关资源
      最近更新 更多