PhoneGap InAppBrowser:无法打开带有“%”字符的链接

时间:2013-02-18 11:43:16

标签: javascript iphone ios cordova webview

我正在为我的iOS项目使用PhoneGap 2.4。

当我想通过window.open(url, "_blank");在新的网页视图图层中打开外部网址时,这适用于“简单”网址,例如“http://www.google.com”。

BUT

更复杂的URL包括空格和特殊字符是一个问题。为避免这种情况,我通过此JavaScript调用对其进行URL编码:

url = encodeURIComponent(url);

这不适用于InAppBrowser插件。相反,我收到一条错误消息:

  

webView:didFailLoadWithError - 无法完成操作。   (WebKitErrorDomain错误101。)

所以,我调查了这一点,我发现如果网址包含“%”字符,则对window.open(url, "_blank");的调用失败并显示此错误消息,例如如果空格字符被编码为“%20”。

我该如何解决这个问题?这不是一个错误吗?


更新:我刚刚使用PhoneGap 2.3在Android上测试了相同的应用。奇迹般有效。所以它是iOS问题或最新PhoneGap版本的问题是2.4。

3 个答案:

答案 0 :(得分:3)

该死的,我刚刚发现了这个问题。我的网址中有一个未编码的空白空间。我用“%20”替换它,现在它可以工作。

我想我变老了: - (

答案 1 :(得分:0)

尝试使用转义键围绕%

答案 2 :(得分:0)