天天看點

解決 iOS 8 WebView 不能呼叫用戶端的問題

在用戶端中嵌入一個 WebView 來引用網頁非常常見。目前項目沒有使用 phonegap,而是自己寫了個 iframe 傳遞參數(原理與 phonegap 類似)。

如下代碼,iOS5-7 是可以正常調用

但是更新到 iOS8 之後,卻忽然打不開了。Obj-C 層并沒有攔截這個 bar:// 請求。

後來經過排查,是 bar:// 這段 URI 沒有 URL 編碼的緣故。解決辦法是 encodeURIComponent JSON 參數即可,還可以保證 中文 的傳輸。

如下例子。

估計是 Apple 方面為了堵住什麼安全漏洞是以要求 URL 編碼的。

繼續閱讀