0

我已经在android中开发了网络应用程序,我需要在webview中显示弹出窗口,当我使用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();

但我想展示 poplike 这对如何在 webview 中显示弹出窗口有任何想法。

在此处输入图像描述

4

1 回答 1

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();
}

或者

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

webview.getSettings().setJavaScriptEnabled(true); 其次,您需要添加javascript接口

wv.addJavascriptInterface(new DemoJavaScriptInterface(), "js"); 第三,加载url;

webview.loadUrl("javascript:javascript 函数名"); 这是给你的一些代码,希望这可以帮助https://github.com/scottagarman/Android-JavaScript-Interface-Example

参考:可能的 WebView OnCreateWindow 制作弹出窗口(对话框样式)?像安卓浏览器

于 2013-01-22T13:27:42.560 回答