UIWebViewNavigationType

UIWebViewNavigationType

我的问题是我在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

07-24 20:42