【问题标题】:WebView Content Security PolicyWebView 内容安全策略
【发布时间】:2016-07-09 01:55:22
【问题描述】:

我想在 WebView 中加载来自 Vimeo 的视频。它可以工作,但无法加载预览图像,并且出现此错误:

I/chromium: [INFO:CONSOLE(0)] "拒绝加载图像 'android-webview-video-poster:default_video_poster/-5228946977756841864' 因为它违反了以下内容安全策略指令:"img-src @ 987654321@https://secure-b.vimeocdn.comhttps://f.vimeocdn.comhttps://vimeo.comhttps://sb.scorecardresearch.comhttps://ssl.google-analytics.comhttps://secure.gravatar.comhttps://i0.wp.comhttps://i1.wp.comhttps://i2.wp.com”。 ",来源:https://player.vimeo.com/video/172374044(0)

我该如何解决?

【问题讨论】:

  • 您找到解决方案了吗?即使我也面临同样的问题。
  • 您找到解决方案了吗?我在 Flutter 中使用 webview_flutter_plus 包,我遇到了同样的问题。我尝试添加这个 但没有运气。

标签: android webview vimeo


【解决方案1】:

将以下内容添加到Content-Security-Policy 元标记img-src 指令:

android-webview-video-poster:

如:

<meta http-equiv="Content-Security-Policy" content="default-src * gap:; script-src * 'unsafe-inline' 'unsafe-eval'; connect-src *; img-src * data: blob: android-webview-video-poster:; style-src * 'unsafe-inline';">

【讨论】:

  • 在添加元标记修复之前,您是否注意到视频大小不正确?我遇到了同样的错误,并且视频本身的大小不适合 android 网络视图。
  • 在哪里补充我不是JS人,请帮忙。
  • 在 HTML 页面的 &lt;head&gt; 标记内添加它
  • @cavalleydude 我不想允许 * (evryone) 但 'self' 不起作用,请参阅错误 Refused to load the image 'android-webview:default_video_poster/4145483716572850442' 因为它违反以下内容安全策略指令:“img-src 'self' data: android-webview-video-poster:”。
  • 关于这个的任何想法:stackoverflow.com/questions/54470420/…
【解决方案2】:

您可以将poster 属性添加到您的&lt;video&gt; 标记。空图像有效。无论如何,默认的android-webview-video-poster 看起来很糟糕。

【讨论】:

    猜你喜欢
    • 2021-10-13
    • 1970-01-01
    • 2021-01-09
    • 2017-09-07
    • 2021-01-11
    • 2016-06-22
    • 2014-07-26
    • 2018-12-29
    • 2020-11-08
    相关资源
    最近更新 更多