微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android Webview 视频 - net::ERR_BLOCKED_BY_RESPONSE

如何解决Android Webview 视频 - net::ERR_BLOCKED_BY_RESPONSE

我正在使用 Android Studio 开发 Excel 教程应用程序,在其中我使用 html 创建课程。每节课都有分步说明和视频说明。现在,当我使用真实设备运行我的应用程序时。它不只显示文本,不显示视频。但是,当我使用 Google Chrome 在笔记本电脑中测试 html 时,它工作正常。现在我该怎么办?

我见过很多这样的问题,但答案是如何显示视频。但在我的 html 中也有文字

我的HTML代码

<iframe src="https://drive.google.com/file/d/1O0pcJdKQt1ZYf8BTl1WNzgyyo00pnoD5/preview" width="640" height="480"></iframe>

我的 Android Studio 代码

public class Lessons_Content extends AppCompatActivity {

ActionBar lessontexttoolbar;
WebView lessoncontent;
Integer lessoninteger;

@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.content_lessons);

    lessontexttoolbar = getSupportActionBar();
    if (lessontexttoolbar != null) {
        lessontexttoolbar.setdisplayHomeAsUpEnabled(true);
    }

    lessoncontent = findViewById(R.id.lesson_content);
    lessoncontent.getSettings().setBuiltInZoomControls(true);
    lessoncontent.getSettings().setdisplayZoomControls(true);
    lessoncontent.getSettings().setBlockNetworkLoads(false);
    if (Build.VERSION.SDK_INT >= 19) {
        lessoncontent.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
    }
    lessoncontent.getSettings().setUseWideViewPort(true);

    lessoninteger = getIntent().getIntExtra("lessonextra",0);
    
    if (lessoninteger == 0) {
        lessoncontent.setWebChromeClient(new WebChromeClient(){});
        lessoncontent.getSettings().setJavaScriptEnabled(true);
        String html = "<iframe src=\"https://drive.google.com/file/d/1O0pcJdKQt1ZYf8BTl1WNzgyyo00pnoD5/preview\" width=640 height=480 allowfullscreen=true></iframe>\n";
        lessoncontent.loadData(html,"text/html","UTF-8");
    }

}

输出

网页不可用。

无法加载位于 'url' 的网页,因为:

net::ERR_BLOCKED_BY_RESPONSE

任何帮助将不胜感激。

谢谢。

实现this answer代码后的截图。

enter image description here

解决方法

尝试启用 JavaScript 到 webView,在加载前使用 web 设置。

WebSettings webSettings = webv.getSettings(); webSettings.setJavaScriptEnabled(true);

,

试试这个:

WebView urlWebView = (WebView)findViewById(R.id.containWebView);
urlWebView.setWebViewClient(new AppWebViewClients());
urlWebView.getSettings().setJavaScriptEnabled(true);
urlWebView.getSettings().setUseWideViewPort(true);
urlWebView.loadUrl("https://drive.google.com/file/d/1O0pcJdKQt1ZYf8BTl1WNzgyyo00pnoD5/preview");


public class AppWebViewClients extends WebViewClient {



    @Override
    public boolean shouldOverrideUrlLoading(WebView view,String url) {
        // TODO Auto-generated method stub
        view.loadUrl(url);
        return true;
    }

    @Override
    public void onPageFinished(WebView view,String url) {
        // TODO Auto-generated method stub
        super.onPageFinished(view,url);

    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。