如何在webview中自定义弹出窗口

时间:2013-01-22 13:17:48

标签: java android android-intent android-webview

我在android中开发了web应用程序,我需要在webview中显示pop, 当我使用window.open时,我尝试了很多方式,意味着它在同一个webview上打开,或者可以在浏览器中加载。

我完成了以下设置

WebSettings settings = Browser.getSettings();  
        settings.setSupportMultipleWindows(false);
        settings.setJavaScriptEnabled(true); 
        Browser.setWebViewClient(new WebViewClient());
        Browser.setWebChromeClient(new WebChromeClient());
        settings.setJavaScriptCanOpenWindowsAutomatically(false);
        settings.setBuiltInZoomControls(true);
        Browser.requestFocusFromTouch();

但是我希望show poplike这对于如何在webview中显示弹出窗口有任何想法。

enter image description here

1 个答案:

答案 0 :(得分:0)

试试这个

public void onCreate(Bundle savedInstanceState){
  ....
  webView.getSettings().setJavaScriptEnabled(true);
  webView.addJavascriptInterface(new MyJSInterface(), "myappname");
  webView.loadUrl("http://mysite.com/"); // or some local asset
  ....
}

public class MyJSInterface{

....
 public void popup(){

//  AlterDialog etc.

 }
....

}


HTML from your website:

window.onload = function(){
   window.myappname.popup();
}

OR

使用javascript界面​​。将javascript与java结合并在java中创建自定义对话框首先,启用javascript

webview.getSettings()setJavaScriptEnabled(真)。 第二,你需要添加javascript接口

wv.addJavascriptInterface(new DemoJavaScriptInterface(),“js”); 第三,加载网址;

webview.loadUrl(“javascript:javascript function name here”); 以下是一些代码,希望这可以帮助https://github.com/scottagarman/Android-JavaScript-Interface-Example

参考:possible WebView OnCreateWindow to make popup window(Dialog style)? like android browser