2016-07-13 36 views
-1

はここに私のコードです:webview.loadUrl()を使用すると、htmlでurlパラメータを取得できますか?

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

と私はdemo.htmlに含ま私demo.js内のURLから(変数でtestValueの値である)、パラメータ「テスト」の値を取得したいです、どうやって?ブラウザでは、window.location.hashを使用してURLを取得できますが、webviewでは機能しません。

答えて

0

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+")"); 
      } 
     }); 
+0

私もこの方法を考え出しましたが、私はこれを一種の代替方法と考えています。私は私の質問の答えを見つけた、それはwebview.loadUrlからurlを取得するwindow.location.hrefを使用して、私が望むパラメータを取得するためにそのURLを解析します。 –

0

以下のように私は私の質問の答えを発見した活動から、その関数を呼び出して、それが使用window.location.hrefはwebview.loadUrlからURLを取得して、取得するためにそのURLを解析することです私が望むパラメータ。それはこのようなものです:

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」を取得したい場合は、その後、私は私のデモの初めに方法getParamHref(「テスト」)を呼び出すことができます。 jsファイル。

関連する問題