【问题标题】:How to manipulate URL on link click in Android WebView如何在 Android WebView 中点击链接时操作 URL
【发布时间】:2013-01-08 23:32:55
【问题描述】:

我通过 HTTP GET 将一个网站拉到了 WebView。问题是该网站未针对移动设备进行格式化。我发现如果我编辑 HTML,我可以注释掉构成网站左窗格的脚本。

方法: 将页面下载到字符串,搜索字符串并将第一个子字符串<link 替换为<!--,写入文件,然后加载到WebView

在涉及链接之前效果很好。单击它会导致WebView 尝试加载file:///index.php/Whatever_the_page_was

我想要做的是捕获该链接请求并将file:/// 部分更改为www.wurmpedia.com,然后通过我的解析器运行它以删除第一个脚本,然后在任何其他链接上重复该过程单击该链接跟随。

我找不到任何其他方法来解决这个问题,这就是我编造的。任何帮助都将不胜感激,无论是通过 URL 修改还是通过更有效的方法。

【问题讨论】:

    标签: android hyperlink android-webview


    【解决方案1】:

    如何使用拦截链接请求

    WebView.shouldInterceptRequest

    【讨论】:

    • 天哪,我简直不敢相信。谢谢你快速的回复。当我在寻找如何让 shouldInterceptRequest 工作时,我偶然发现了让我的 shouldOverrideUrlLoading 做的不仅仅是使用我的 webview 的想法。这就是我所做的:@Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url.contains("file:///")){ webView.loadUrl(getHtml("http://www.wurmpedia.com/"+url.substring(8))); return false; }
    • 我不敢相信这是一个如此简单的答案。感谢@chinloong 让我走上正轨!
    猜你喜欢
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 2013-06-12
    • 2010-12-06
    • 2015-10-11
    相关资源
    最近更新 更多