window.close()无法在android webview中运行?

时间:2014-04-22 06:11:52

标签: javascript android webview

Android 4.1 日食 在设备上进行测试

我正在尝试通过webview在我的android应用程序中打开一个html / javascript网页,暂时托管在我的localhost上。 假设该页面在2秒后通过以下代码

关闭
<script type="text/javascript">
    alert('hello');
    setInterval(function(){window.close();},2000);
</script>

我可以使用WebChromeClient获取hello警报。但是window.close仍然无法正常工作。任何帮助将不胜感激。

PS:以下是我加载网址的方式:

WebSettings ws = webView.getSettings();
ws.setJavaScriptEnabled(true);      
ws.setJavaScriptCanOpenWindowsAutomatically(true);
webView.loadUrl("http://192.168.1.137/abc.html");
webView.setWebChromeClient(new WebChromeClient());

1 个答案:

答案 0 :(得分:5)

试试这个:

WebChromeClient webClient = new WebChromeClient(){

    public void onCloseWindow(Window w){
        super.onCloseWindow(w);
        Log.d(TAG, "Window close");
    }
};

描述:

public void onCloseWindow (WebView window)

通知主机应用程序关闭给定的WebView,并在必要时将其从视图系统中删除。此时,WebCore已停止此窗口中的任何加载,并已删除javascript中的任何跨脚本编写功能。