2016-09-15 86 views
3

我有一個本地應用程序,它必須與網站進行交互。它一直在正常工作到iOS 9,但在iOS 10中,Web應用程序內的Javascript代碼不再有效。WKWebView不再與iOS10中的Javascript進行交互

這裏是我使用的一個按鈕的onClick事件的JS代碼的例子,如上所述,它像iOS10之前的魅力一樣工作。

function DoSomething() 
{ 
    var iframe = document.createElement("IFRAME"); 
    var url='codeToBeUsed://id=1230'; 
    iframe.setAttribute("src", url); 
    document.documentElement.appendChild(iframe); 
    iframe.parentNode.removeChild(iframe); 
    iframe = null; 
} 

當調試上Xcode中應用程序,該請求變量,它通常包含提供的「URL」的實例變量的內容,現在返回空白值...

<NSMutableURLRequest: 0x170011070> { URL: about:blank } 

我甚至測試過放置一個警報('click');但它也沒有工作。有人知道如何解決這個問題嗎?

回答

2

使用一個接近你的代碼(我在src中傳遞一個字符串化的json),我也在請求中出現了'about; blank'的尷尬。

看來iOs10對你傳遞給iframe'src'的內容有一些新的限制。我發現它需要一個有效的url來正確觸發請求。

嘗試使用:

var url='codeToBeUsed://?id=1230'; 

編輯:或編碼URI ...

+0

由於它的工作=) –