网站菜单栏在移动浏览器中正常工作时无法与 WebView android 一起使用

Posted

技术标签:

【中文标题】网站菜单栏在移动浏览器中正常工作时无法与 WebView android 一起使用【英文标题】:Website menu bar not working with WebView android while working fine in mobile browser 【发布时间】:2018-05-01 19:06:36 【问题描述】:

我正在开发 WebView 并使用 WebView android 打开一个网站。该网站的菜单栏在移动浏览器中工作正常,但是当我在 WebView android 中打开 URL/网站时,菜单栏不起作用。

在 Android WebView 中打开时(菜单栏无响应)

在移动浏览器中打开时

下面是我用来在 WebView 中打开 URL 的代码:

WebView mWebView = (WebView) findViewById(R.id.webview);
WebSettings mWebSettings = mWebView.getSettings();
mWebSettings.setjavascriptEnabled(true);
mWebSettings.setSupportZoom(false);

mWebView.setWebViewClient(new WebViewClient());
mWebView.setWebViewClient(new WebViewClient() 
 public boolean shouldOverrideUrlLoading(WebView view, String url) 
  view.loadUrl(url);
  return true;
 

 public void onPageFinished(WebView view, String url) 

 

 public void onReceivedError(WebView view, int errorCode, String descripti0on, String failingUrl) 

 
);

mWebView.loadUrl("https://www.buyvipgift.com");

请告诉我哪里出错了!

【问题讨论】:

【参考方案1】:

我在代码中添加了mWebSettings.setDomStorageEnabled(true) 这一行,现在可以正常工作了。

setDomStorageEnabled(boolean flag)

设置是否启用 DOM 存储 API。

因为,着陆页提供了可用于自定义colourfontdecorative image 的控件。当您选择不同的选项时,页面会立即更新;此外,您的选择存储在localStorage,因此当您离开页面时,稍后再次加载您的选择会被记住。

此外,如果您在另一个选项卡中加载此页面,然后在登录页面中更改您的选择,您将看到在StorageEvent 被触发时输出的更新存储信息。

【讨论】:

tnx 非常兄弟【参考方案2】:

通过添加这两行来为我工作:

mywebView.getSettings().setDomStorageEnabled(true);
mywebView.getSettings().setJavaScriptEnabled(true);

【讨论】:

【参考方案3】:

是的,我有同样的问题,通过添加这些代码行它可以完美地工作。

public class MainActivity extends AppCompatActivity 
    private WebView websiteView;

    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        websiteView = (WebView) findViewById(R.id.websiteview);
        WebSettings webSettings = websiteView.getSettings();
        websiteView.getSettings().setDomStorageEnabled(true);
        websiteView.getSettings().setJavaScriptEnabled(true);
        webSettings.setJavaScriptEnabled(true);
        websiteView.loadUrl("https://abdulrahmanayub.com/");
        websiteView.setWebViewClient(new WebViewClient());

    

【讨论】:

以上是关于网站菜单栏在移动浏览器中正常工作时无法与 WebView android 一起使用的主要内容,如果未能解决你的问题,请参考以下文章

我应该怎么做才能使这个菜单栏在 Internet Explorer 7 及更高版本中正常工作?

Bootstrap 导航栏在移动设备上无法正常工作

Jquery:下拉菜单在移动设备上无法正常工作

搜索栏在 iOS 中无法正常工作 [关闭]

移动菜单快速折叠

Bootstrap - 移动菜单中的下拉菜单打开正常,无法关闭下拉菜单