我有一个 WebView,我正在其中加载 facebook sharer php 页面。此页面没有任何形式的确认,它只是在用户共享或取消后关闭窗口。
由于它被加载到网络视图中,因此本身没有什么可以“关闭”的,因此,我需要检测尝试关闭的窗口并对该回调执行操作。
从我的各种搜索看来,处理此问题的方法是通过 WebChromeClient。因此,我尝试执行以下操作,但从未调用回调。我显然错过了一些东西,但不知道是什么。 *感觉 onCloseWindow 事件应该被覆盖,但这会导致 eclipse 抱怨(合理地)我需要超级实例,文档似乎并不表明这是可能的。
感谢所有帮助。
[编辑] 哦,我只是尝试交换操作的顺序,在调用 url 之前设置 WebChromeClient,并且(如我所料)这并没有以任何方式改变行为。
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webview.setWebViewClient(new WebViewClient());
webview.loadUrl("http://www.facebook.com/sharer/sharer.php?u=http://EXTRACTED.com?img_id=abc");// + getIntent().getStringExtra("userId"));
WebChromeClient wbc = new WebChromeClient(){
public void onCloseWindow(Window w){
Log.d(TAG, "Window trying to close");
}
};
webview.setWebChromeClient(wbc);
有什么问题:
public void onCloseWindow(WebView w){
super.onCloseWindow(w);
Log.d(TAG, "Window trying to close");
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)