Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SetSupportMultipleWidows和setJavaScriptCanOpenWindowsAutomatically不允许webView弹出窗口_Javascript_Android_Webview_Tabs - Fatal编程技术网

SetSupportMultipleWidows和setJavaScriptCanOpenWindowsAutomatically不允许webView弹出窗口

SetSupportMultipleWidows和setJavaScriptCanOpenWindowsAutomatically不允许webView弹出窗口,javascript,android,webview,tabs,Javascript,Android,Webview,Tabs,我试图允许一个新的窗口被打开时,一个网站上的按钮被按下。我已尝试自动启用setJavaScriptCanOpenWindows和setSupportMultipleWidows,但按下按钮后仍然没有任何效果 public class WebView extends AppCompatActivity { android.webkit.WebView myWebView; @Override protected void onCreate(Bundle savedIns

我试图允许一个新的窗口被打开时,一个网站上的按钮被按下。我已尝试自动启用
setJavaScriptCanOpenWindows
setSupportMultipleWidows
,但按下按钮后仍然没有任何效果

public class WebView extends AppCompatActivity {

    android.webkit.WebView myWebView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_web_view);

        myWebView = (android.webkit.WebView) findViewById(R.id.webview);
        WebSettings webSettings = myWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webSettings.setDomStorageEnabled(true);
        webSettings.setUserAgentString("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36");
        webSettings.setAllowFileAccess(true);
        webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
        webSettings.setSupportMultipleWindows(true);
        myWebView.loadUrl("https://somewebsite.com/");
    }

    @Override
    protected void onSaveInstanceState(Bundle outState ) {
        super.onSaveInstanceState(outState);
        myWebView.saveState(outState);
    }

    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
        super.onRestoreInstanceState(savedInstanceState);
        myWebView.restoreState(savedInstanceState);
    }

}
我已经阅读并尝试了以下建议的答案:

我认为链接问题中的答案可能不适用于我的案例,因为链接问题涉及同一窗口中的弹出窗口,但我单击的按钮将完全打开一个新窗口(我无法更改)

为什么有人知道为什么
setJavaScriptCanOpenWindowAutomatically
setSupportMultipleWidows
没有做到这一点,以及我如何设置我的webview,使其允许单击打开新窗口的按钮?

您在右边,我们遇到了同样的问题。
setJavaScriptCanOpenWindowAutomatically
setSupportMultipleWidows
必须在Chrome浏览器上设置。您的代码正在使用默认的网络视图:

myWebView = (android.webkit.WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
必须扩展webview以使用chromesetWebChromeClient

myWebView.setWebChromeClient(new WebChromeClient() {
            @Override
            public boolean onCreateWindow(WebView view, boolean isDialog,
                    boolean isUserGesture, Message resultMsg) {

                    // Add your settings to the chrome browser:
                    WebView newWebView = new WebView(WebpageActivity.this);
                    newWebView.getSettings().setJavaScriptEnabled(true);
                    newWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
                    newWebView.getSettings().setSupportMultipleWindows(true);
           }
});
在脚本端代码中保留
window.open()
。并在android端的
WebChromeClient
中覆盖
onCreateWindow