簡體   English   中英

IBM Worklight 6-Windows 8 Tablet追加功能異常

[英]IBM Worklight 6 - Windows 8 Tablet append function exception

我們最近開始測試已經在Windows 8 Tablet上適用於Android,IOS和WP8的應用程序(即W8桌面應用程序)

當我們嘗試運行它時,該應用程序立即啟動並關閉。 進一步調試時,我們發現從WLJQ.js拋出了一個異常(參見圖片),更准確地說,在第5964行追加了:function()

考慮到例外情況的詳細信息,並經過一些調查使我們鏈接到此鏈接http://msdn.microsoft.com/zh-cn/library/windows/apps/Hh767331.aspx ,我們找到了一種解決方法,攻擊WLJQ.js文件,使用MS API跳過注入驗證。

在此處輸入圖片說明

到目前為止,到目前為止還不錯,但是我非常有信心更改內部Worklight文件不是適當的解決方案,因此我們完成的代碼可能會破壞其他平台。

基本上,我們在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的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM