Web 视图不适用于某些特定的 url

Posted

技术标签:

【中文标题】Web 视图不适用于某些特定的 url【英文标题】:Web View not working with some specific url 【发布时间】:2018-09-12 12:01:02 【问题描述】:
public class MainActivity extends AppCompatActivity 

    String url = "https://www.pinterest.com";

    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        WebView webView = findViewById(R.id.webview);
        webView.getSettings().setjavascriptEnabled(true);
        webView.getSettings().setLoadWithOverviewMode(true);
        webView.getSettings().setUseWideViewPort(true);
        webView.setWebViewClient(new WebViewClient()

            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) 
                view.loadUrl(url);

                return true;
            
            @Override
            public void onPageFinished(WebView view, final String url) 
            
        );

        webView.loadUrl(url);       
    

Web 视图未在应用程序中加载“https://www.pinterest.com”,但它正在使用 Intent 与 chrome 浏览器一起工作。我尝试了其他有效的网址。使用 webview 加载“https://www.pinterest.com”时,得到如下输出屏幕

【问题讨论】:

显示你的代码! @ArunRavichandran 您的代码在我的设备中运行良好,只需更改这样的网址String url = "https://www.pinterest.com/"; 【参考方案1】:

你试试这个:

WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setAllowContentAccess(true);
settings.setDomStorageEnabled(true);
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("https://www.pinterest.com/");

在清单中:

android:hardwareAccelerated="true"

【讨论】:

谢谢。它的工作 为什么我们需要提供对 Pinterest 的存储访问权限? 就像一个魅力。谢谢。我在加载 Iheart 时遇到问题,在启用 Dom 存储后它可以工作【参考方案2】:

在设置中将 JavascriptEnabled 和 AllowContentAccess 和 setDomStorageEnabled 设置为 true

【讨论】:

以上是关于Web 视图不适用于某些特定的 url的主要内容,如果未能解决你的问题,请参考以下文章

杀死所有视图/控制器并默认为主页按钮上的登录页面不适用于 Web 服务调用

Where 子句不适用于 ClickHouse 视图

adjustResize 不适用于片段布局内的 EditText 视图

React Web App Routing 适用于桌面(包括移动开发视图),但不适用于移动浏览器

Web 视图无法加载特定 URL(Web 工具包错误域 102)

Forge 查看器在 2D 视图中显示模糊的元素,并且测量扩展不适用于它们