jQuery和Windows 8 JavaScript Metro风格应用程序
可以在使用JavaScript API开发的Windows 8 Metro风格的应用程序中使用jQuery吗? 我正在查看示例,并且有很多标准的DOM操作,比如document.getElementById
, addEventListener
等。我想使用jQuery来提高工作效率。
$
不是魔术。 jQuery只是一个javascript库。 它应该运行正常。
唯一可能不起作用的是cssHooks,它不会考虑环境的任何“怪癖”。
所以是的, 如果你相信微软能够产生一个遵循HTML / CSS / JS规范的环境,那么它会起作用。
你觉得幸运吗?
是的,它可以工作,任何JavaScript库都可以。 我在他们在BUILD会议上发布的一个平板电脑上validation了它。
但是,不要期望使用CDN加载脚本。 您必须下载它,将其添加到项目中,并在本地引用它。
tl; dr :你可以使用jQuery 1.7+,但是当涉及到标记修改时,它还没有完全集成。
来自开发中心(msdn)的报价
使用jQuery
您可以使用JavaScript在Windowsapp store应用中使用jQuery,但只能使用1.7及更高版本。 我们建议您始终使用最新版本。
这意味着它可以工作,但是您将遇到HTML和DOM API更改列表(msdn)中列出的一些非标准行为
如果存在不安全的标记 ,则在设置innerHtml
属性时会提到exception(其中包括: 使HTML更安全 ),但这是非阻塞的,加载jQuery库(1.8.2)的简单事实将触发一些。
如前所述,您需要使用库的本地副本(无CDN)。
您可以使用任何JS库。 我怀疑像WinJS.xhr(又名’$ .ajax’)这样的方法,因此WinJS不依赖于jQuery。
它应该运行正常。 jQuery只是一个库。 $('#someid')
将在内部调用document.getElementById
您可以使用它,就像您可以使用自己编写的javascript代码一样…
JQuery应该可以正常工作,但请记住,在您的示例中,有一些内置function可用于执行此类操作:
WinJS.Utilities.query("#someId li") .listen("click", function (result) {
查询收集文档
不要使用像WinJS这样的任何Windows库。 为什么要锁定自己并依赖专有代码? 坚持使用通常的东西,即HTML,CSS,JS(JQuery或其他)。 它只会让你未来的支持/开发更加可预测……
与所有第三方JavaScript库一样,您应该记住几件事。
- 始终尝试在项目中包含.js源文件。 呼叫CDN或外部托管位置将标记您进行一些通常不需要进行的安全检查。
- 我在编写自己的应用程序时使用了几个jQuery版本。 他们中的一些人破了所以请记住,仍然无法保证。 其他的库,比如SoundJS,我使用的是我知道的旧版本。
- 如果您正在寻找第三方库的一些示例,我在Knockout和Upshot上有一些post:
- http://blogs.msdn.com/b/davedev/archive/2012/05/02/connecting-to-wcf-ria-services-in-a-windows-8-metro-style-app-using-upshot- JS-和kockout-js.aspx
我还写了一个免费的Windows商店游戏工具包,它使用第三方库,你可以在这里获取免费资源: http : //win8gamekit.codeplex.com
实际上你可以通过Visual Studio下载它。 如果您下载NuGet包管理器。
工具 – >添加包和扩展
在NuGet Package Manager的左侧在线包中搜索并安装。
然后在你想要jQuery的项目中,右键单击你的引用并添加一个NuGet包,然后搜索jQuery。 这就是我使用的。