当我使用 webview.loadUrl() 时,我可以在 html 中获取 url 参数吗?

Can I get the url parameters in html when I use webview.loadUrl()?

本文关键字:html 获取 url 参数 我可以 webview loadUrl      更新时间:2023-09-26

这是我的代码:

private WebView mWebView;
String testValue="hello";
mWebView.loadUrl("http://192.168.64.13:8079/ctms-logistics/demo.html?test="+testValue);

我想从我的演示中的 url 中获取参数"test"的值(这是变量 testValue 的值.js该 url 包含在演示中.html,如何?我知道在浏览器中我们可以使用window.location.hash来获取网址,但它在webview中不起作用。

你可以在js中有一个函数,它将接受这些参数。并从活动中调用该函数,如下所示

mWebView.loadUrl("http://192.168.64.13:8079/ctms-logistics/demo.html?test="+testValue);
     mWebView.setWebViewClient(new WebViewClient() {
            public void onPageFinished(WebView view, String url)
            {
                   mWebView.loadUrl("javascript:setTestValue("+testValue+")");
            }
        }); 

我已经找到了问题的答案,它是使用 window.location.href 从 webview.loadURL 获取网址,然后解析该网址以获取我想要的参数。 是这样的:

function getParamHref(paramName) {
var href = window.location.href;
var search = href.substr(href.indexOf("?") + 1, href.length);
var reg = new RegExp("(^|&)" + paramName + "=([^&]*)(&|$)", "i");
var r = search.match(reg);
if (!isUndeFinedOrNull(r)) return unescape(r[2]);
return null;

}

如果我想从 url 获取参数"test",那么我可以在我的 demo.js 文件的开头调用方法 getParamHref("test")。