ios – UIWebView获取请求URL路径(html字符串)

ios – UIWebView获取请求URL路径(html字符串),第1张

概述我可以使用从在线源获得的CSS将 HTML字符串加载到UIWebView中.我现在遇到的问题是获取被点击的链接的路径.如果我用这个: webView.loadHTMLString(finalHtml,baseURL:baseUrl) 当我在UIWebViewDelegate shouldStartLoadWithRequest中println(webView.request?.URL.path)时 我可以使用从在线源获得的CSS将 HTML字符串加载到UIWebVIEw中.我现在遇到的问题是获取被点击的链接的路径.如果我用这个:

webVIEw.loadHTMLString(finalHtml,baseURL:baseUrl)

当我在uiwebviewdelegate shouldStartLoaDWithRequest中println(webVIEw.request?.URL.path)时,我得到了点击路径为“/”的路径.

如果我用这个:

webVIEw.loadHTMLString(finalHTML,baseURL:nil)

当我打印出来时,我得到“nil”(webVIEw.request?.URL.path)

当然,我已将baseURL设置为原始网站,但根据我的理解,如果链接具有完整地址,则baseURL无关紧要.

有任何关于如何获得被点击的链接的标签中指示的实际路径的建议吗?提前谢谢你= D.

编辑当我长按链接时,会d出一个显示正确链接的d出窗口.我已经尝试了所有的东西,包括absoluteString,但我仍然不会得到路径.

解决方法 如果在同一代码块中调用webVIEw.loadHTMLString(finalHTML,baseURL:baseURL)和println(webVIEw.request?.URL.path),webVIEw将不会有非零请求属性,因此您可以’获取该请求的URL路径. UIWebVIEw异步加载HTML字符串.您可以实现uiwebviewdelegate以查看在UIWebVIEw中何时链接链接.使用以下委托方法:

func webVIEw(webVIEw: UIWebVIEw,shouldStartLoaDWithRequest request: NSURLRequest,navigationType: UIWebVIEwNavigationType) -> Bool {    if navigationType == .linkClicked {        println(request.URL.path)    }    return true}

如果要查看所有请求的路径(包括向后导航,转发等),请忽略if navigationType == .linkClicked条件.

总结

以上是内存溢出为你收集整理的ios – UIWebView获取请求URL路径(html字符串)全部内容,希望文章能够帮你解决ios – UIWebView获取请求URL路径(html字符串)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1025778.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存