我的问题是我在 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
关于javascript - 如何伪造 UIWebViewNavigationTypeLinkClicked 为 UIWebVIew,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29902889/