无法在 WKWebView 上使用“&”字符进行 google 搜索
Can't do google search with "&" character on WKWebView
我的应用程序中有一个 WKWebView
允许用户在 Google 上搜索。
一切正常,但使用“&”字符进行搜索。例如,如果我搜索 at&t,我将得到 at.
的搜索结果
如果我在 didCommitNavigation
中打印我的网络视图的 url,我可以看到正确的搜索词 at&t
func webView(webView: WKWebView, didCommitNavigation navigation: WKNavigation!)
{
print(webView.URL?.absoluteString)
}
returns
https://www.google.fr/search?hl=en&q=at&t=&gws_rd=cr,ssl&ei=8f-hV4iJGM-ba6qvh-gJ
我们可以看到 q 参数:q=at&t
而结果页面与 q=at
相同。
任何解决该问题的想法都将不胜感激。
正如 this 所验证的那样,& 不会以通常的方式自动转义,因此您可能必须手动处理搜索字符串(无论您的用户在何处输入条款,只需在获取时替换 &从那里):
let searchterm = getTermFromWherever()
let actualterm = searchterm.stringByReplacingOccurrencesOfString("&", withString: "%26")
这应该有效。
我的应用程序中有一个 WKWebView
允许用户在 Google 上搜索。
一切正常,但使用“&”字符进行搜索。例如,如果我搜索 at&t,我将得到 at.
的搜索结果如果我在 didCommitNavigation
中打印我的网络视图的 url,我可以看到正确的搜索词 at&t
func webView(webView: WKWebView, didCommitNavigation navigation: WKNavigation!)
{
print(webView.URL?.absoluteString)
}
returns
https://www.google.fr/search?hl=en&q=at&t=&gws_rd=cr,ssl&ei=8f-hV4iJGM-ba6qvh-gJ
我们可以看到 q 参数:q=at&t
而结果页面与 q=at
相同。
任何解决该问题的想法都将不胜感激。
正如 this 所验证的那样,& 不会以通常的方式自动转义,因此您可能必须手动处理搜索字符串(无论您的用户在何处输入条款,只需在获取时替换 &从那里):
let searchterm = getTermFromWherever()
let actualterm = searchterm.stringByReplacingOccurrencesOfString("&", withString: "%26")
这应该有效。