【发布时间】:2013-02-18 11:43:16
【问题描述】:
我在我的 iOS 项目中使用 PhoneGap 2.4。
当我想通过window.open(url, "_blank"); 在新的 web 视图层中打开外部 URL 时,这适用于“简单”URL,例如“http://www.google.com”。
但是
包含空格和特殊字符的更复杂的 URL 是一个问题。为了避免这种情况,我通过这个 JavaScript 调用对它们进行 URL 编码:
url = encodeURIComponent(url);
这不适用于 InAppBrowser 插件。相反,我收到一条错误消息:
webView:didFailLoadWithError - 操作无法完成。 (WebKitErrorDomain 错误 101。)
所以,我对此进行了调查,发现对window.open(url, "_blank"); 的调用失败并显示此错误消息如果 url 包含“%”字符,例如如果空白字符被编码为“%20”。
我该如何解决这个问题?这不是bug吗?
更新:我刚刚在 Android 上使用 PhoneGap 2.3 测试了同一个应用。奇迹般有效。所以这要么是 iOS 问题,要么是最新的 PhoneGap 版本 2.4 的问题。
【问题讨论】:
标签: javascript iphone ios cordova webview