jquery - IBM Worklight 6 - Windows 8 平板电脑附加功能异常

标签 jquery windows exception ibm-mobilefirst tablet

我们最近开始测试我们已经在 Windows 8 平板电脑(即 W8 桌面应用程序)上运行的适用于 Android、IOS 和 WP8 的应用程序

当我们尝试运行它时,应用程序立即启动并关闭。进一步调试,我们发现 WLJQ.js 抛出了一个异常(见图片),更准确地说是在第 5964 行追加:function()

考虑到异常细节并经过一些调查将我们定向到此链接 http://msdn.microsoft.com/en-us/library/windows/apps/Hh767331.aspx ,我们找到了破解 WLJQ.js 文件的解决方案,该文件使用 MS API 跳过注入(inject)验证。

enter image description here

到目前为止一切顺利,但我非常有信心更改内部工作灯文件不是合适的解决方案,因此我们完成的代码可能会破坏其他平台。

基本上我们在 WLJQ.js 文件中更改了它:

append: function() {
  return this.domManip(arguments, true, function( elem ) {
      if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
      this.appendChild( elem );
      }
   });

由此

append: function() {
    return this.domManip(arguments, true, function( elem ) {
        if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
      var self = this;
            MSApp.execUnsafeLocalFunction(function () {
                self.appendChild(elem);
            });

软件版本:Worklight 6.0.0 Visual Studio 2012

关于如何修复它的任何线索?

最佳答案

您的应用程序是否使用 Worklight 的 jQuery?我不会更改 WLJQ.js,而是删除以下行:

<script>Window.$ = Window.jQuery = WLJQ</script>

并将其替换为从您的应用中显式加载 jQuery。 jQuery 2.0 应该是 Windows 8 就绪的,所以我将从它开始。

您没有说您是否使用 jQuery Mobile。即使您使用的是 jQuery 2.0,这也会导致问题。但至少如果您从您的应用程序中使用 jQuery 的副本,修改它不会导致修改 WLJQ.js 会出现的问题。

关于jquery - IBM Worklight 6 - Windows 8 平板电脑附加功能异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19665619/

相关文章:

jquery - Bootstrap 轮播标记错误?

javascript - 尝试使用 jQuery 创建弹出对话框时出错

c++ - 如何在 Windows 上部署 Qt 应用程序?

android - 带有错误处理的 RxAndroid Observable 方法调用

c++ - 自制字符串类中的异常

javascript - 如何在没有提交按钮的情况下提交 “file” 输入,然后在同一脚本中执行 mysql 更新

javascript - 选择元素没有 'options' 数组

c++ - GetWindowlong 检查按钮样式

windows - 如何清除 UWP WebView 缓存?

php - 返回 javascript 代码时如何在 PHP/Dojo 中正确生成异常