繁体   English   中英

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

[英]window.close() not working in android webview?

Android 4.1 Eclipse在设备上进行测试

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

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

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

PS:这是我加载URL的方式:

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

试试这个 :

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中的任何跨脚本编写功能。

这在Android版> KITKAT上是不可能的。 但我找到了解决方案。 如果机器人生成版本> KITKAT,我已经检测到的消息从WebChromeClient类的方法onConsoleMessage在服务器端的js http://developer.android.com/reference/android/webkit/WebChromeClient.html 这个对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM