我的问题是我在UIWebView中使用的网站使用Javascript打开链接
window.open source, '_blank' //coffeescript
这是我当前用来捕获链接的代码...(不起作用),从理论上讲,可以在Safari中打开它们。单击该代码实际上会触发并最终导致UIWebViewNavigationTypeOther作为UIWebViewNavigationType
func webView(webView: UIWebView!, shouldStartLoadWithRequest request: NSURLRequest!, navigationType: UIWebViewNavigationType) -> Bool {
println("inside")
var req = request.URL
println(req.scheme)
if navigationType == UIWebViewNavigationType.LinkClicked {
println("false")
UIApplication.sharedApplication().openURL(request.URL)
return false
}
println("true")
return true
}
我几乎总是以UIWebViewNavigationType.other结尾,作为url类型...在window.open中我能做些什么来迫使linkClicked类型发生吗?还是通过window.open发送一些自定义信息,这些信息我可以自己阅读?我想避免使用url?clicked = 1方法。
我对这里的想法很开放...
最佳答案
要从javascript伪造onclick事件,您需要执行以下操作。
var aTag = document.createElement('a');
aTag.setAttribute('href',"http://www.google.com");
aTag.innerHTML = "link text";
aTag.click()
上面的代码将命中UIWebViewNavigationType.LinkClicked
window.open("http://www.w3schools.com");
上面的代码将触发UIWebViewNavigationType.other