Javascript Android webview获取当前url并检查它是否包含字符串
上一篇文章来自这里。事实上,我无法从这些答案中得到我想要的。也许我应该问得更清楚些。我实际上使用webview加载内容页。然后在内容页面中,有一些链接也是我自己创建的本地html。因此,流就像 android活动->网络视图->内容页->游戏页 实际上,我想在游戏页面中检索一个局部变量Javascript Android webview获取当前url并检查它是否包含字符串,javascript,android,html,webview,Javascript,Android,Html,Webview,上一篇文章来自这里。事实上,我无法从这些答案中得到我想要的。也许我应该问得更清楚些。我实际上使用webview加载内容页。然后在内容页面中,有一些链接也是我自己创建的本地html。因此,流就像 android活动->网络视图->内容页->游戏页 实际上,我想在游戏页面中检索一个局部变量marks。因此,我创建了一个退出按钮,用于关闭页面并返回到android活动,以及将标记返回到android活动 所以我自己搜索了一些信息,发现window.close()不起作用。因此,我更改当前URL以指示单
marks
。因此,我创建了一个退出
按钮,用于关闭页面并返回到android活动,以及将标记
返回到android活动
所以我自己搜索了一些信息,发现window.close()
不起作用。因此,我更改当前URL以指示单击了退出按钮。然后从URL中提取标记
,并将其存储在android活动中。但它不适用于我下面的代码,我想这可能是因为我在内容页中使用了该方法。我希望有人能帮忙,因为我真的找不到问题。我对代码进行了如下编辑:
我在android中的活动:
private WebView webview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
webview = new WebView(this);
webview.getSettings().setJavaScriptEnabled(true);
try {
webview.loadUrl("file:///android_asset/index.html");
webview.setWebViewClient(new WebViewClient()
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
if (url.contains("?marks=")){
finish();} // close activity
else{
view.loadUrl(url);}
return true;
});
}
catch(Exception ex)
{
ex.printStackTrace();
}
setContentView(webview);
}
我的退出按钮是一个div:
<div class="exit" onclick="finish()">Exit</div>
好的,我想问题解决了,因为
webview.loadUrl
应该放在末尾。
setWebViewClient(新的WebViewClient()
function finish() {
document.location.href= window.location.href +"?marks=" + marks;
}
webview.setWebViewClient(new WebViewClient()
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
if (url.contains("?marks=")){
finish();} // close activity
else{
view.loadUrl(url);}
return true;
});
webview.loadUrl("file:///android_asset/index.html");