javascript - Windows 8 商店应用程序和 jQuery - MSApp.execUnsafeLocalFunction

标签 javascript jquery html jquery-mobile windows-8

我正在编写一个 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/

相关文章:

javascript - 为什么我不能动态创建 html 元素?

javascript - 调用两个ajax请求并将它们附加到同一个div中

jquery - 切换具有类的元素($(this).next() 除外)

JQuery 调整 div 大小

html - 尝试在 WordPress 站点中使用 CSS 在屏幕上一直拉伸(stretch)标题

javascript - JS不识别日文字符

javascript - 附加到剔除已删除 dom 元素的事件监听器导致内存泄漏

JavaScript 接收伪整数(即 0100 或 03)并输出正确整数的函数

javascript - 在 owl carousel mobile 上显示 3 个元素

python - 如何制作BeautifulSoup "understand"plus html实体