【问题标题】:Android WebView and site that needs to get local files需要获取本地文件的Android WebView和站点
【发布时间】:2017-06-21 14:59:51
【问题描述】:

我为如何命名这个而苦恼,但基本上我有一个WebView,它允许用户静态指定一个 URL,然后在我们的应用程序中以WebView 显示页面。一切都很好,花花公子-它有效。然而,一位用户指定了www.streamable.com,它允许用户上传视频,然后提供该视频的 URL。

WebView 可以正常加载www.streamable.com 站点,但是当他们点击“上传视频文件”按钮时似乎没有执行任何操作。在普通浏览器中会显示以下内容(即使在移动设备上):

和正常的弹出窗口(在你选择哪种机制之后):

我访问了以下StackOverflow 示例,但它们没有工作:

WebView blocking pop up windows?

How to display javascript popup in android webview

How to work with pop ups window in android webview

这是一些 Javascript 限制(尝试了这些选项),还是 WebView 强制执行的我没有偶然发现的已知安全限制?

这是我正在使用的代码:

            mWebView.setWebChromeClient(new WebChromeClient() {
            }); 
            mWebView.setWebViewClient(new WebViewClient() {
             @Override
             public boolean shouldOverrideUrlLoading (WebView view, String url) {
                 view.loadUrl(url);
                 return true;
             }
            }); 
            mWebView.getSettings().setJavaScriptEnabled(true);
            mWebView.getSettings().setAppCacheEnabled(true);
            mWebView.loadUrl("www.streamable.com");

提前感谢您的帮助。

【问题讨论】:

    标签: javascript android webview


    【解决方案1】:

    这不能直接回答您的问题,但可以提供帮助。前段时间我在一个特定网页上遇到了类似的问题(该页面不在我的控制之下),它在网络上工作,即使使用移动浏览器但不是使用 WebView,我尝试了不同的方法让它工作,但我不能成功了,对我来说,原因之一是因为有打开相机的权限(你可以检查你是否使用的是 android Lollipop 或更新版本)。但最后我找到了最好的解决方案,我使用的是

    Chrome 自定义标签

    你可以在这里查看实现Chrome Custom Tabs .

    正如他们提到的:

    如果您托管自己的内容,WebView 是一个很好的解决方案 在您的应用程序中。如果您的应用程序将人们定向到您以外的 URL 域,我们建议您使用 Chrome 自定义标签

    您可以在之前提供的链接中查看所有详细原因。

    由于您正在访问第 3 方网页,我认为这是可行的方法,而且www.streamable.com 网站肯定会工作。

    【讨论】:

    • @alan1fm 谢谢。我会研究并试一试。
    猜你喜欢
    • 1970-01-01
    • 2013-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-23
    • 1970-01-01
    • 2022-01-17
    相关资源
    最近更新 更多