我正在编写一个 Windows 8 JavaScript 商店应用程序(使用 Cordova)。当我在 Windows 8 中使用 jQuery 时,为什么我必须修改 jQuery 库才能将以下函数用于一些功能?
MSApp.execUnsafeLocalFunction
我最好不要这样做,因为每当新版本的 jQuery Mobile 发布时都会带来一些不便(谢天谢地,这种情况并不常见)- 项目中是否有禁用此功能的设置?
我正在使用 jQuery v1.9.1 和 jQuery Mobile v1.3.2(这是最新的稳定版本)。我读到这是从 jQuery 2.x 开始修复的 - 有人可以确认这是否属实吗?
如果是这样,在我的移动应用程序项目中使用 jQuery 2.x 是否不安全? jQuery Mobile v1.3.2 依赖的 jQuery v1.9.1 中是否有一些函数在 jQuery v2.0 中不可用?
最佳答案
您需要对某些函数使用 MSApp.execUnsafeLocalFunction,因为 jQuery 以一种对 Microsoft 来说不安全的方式添加 HTML。一些 HTML 元素和属性被认为是不安全的,当 jQuery 不安全地将它们添加到 DOM 时,应用程序会崩溃,例如使用 append 或 innerHTML。可以找到不安全的 HTML 元素和属性 here .
据我所知,这个问题在 jQuery 2.x 中没有修复。我仍在努力使带有不安全关键字的异步页面更改生效。当我有解决方法或修复时,我会通知您。
更新:MSOpenTech 创建了一个 JavaScript 动态内容 shim 来解决这个问题。看看我的blog post或者在他们的 Github page .
关于javascript - Windows 8 商店应用程序和 jQuery - MSApp.execUnsafeLocalFunction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20629479/