Cordova : Content Security Policy directive: "media-src *"

标签 cordova content-security-policy

这是我的元标记:

<meta http-equiv="Content-Security-Policy" content="default-src * 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src http://* 'self' 'unsafe-inline'; media-src *">

我正在使用此元标记在端口上调用服务器的 socket.io.js 文件,例如:

<script src="https://example.co:3344/socket.io/socket.io.js"></script>

这是针对 WebRTC(rtcmulticonnection)的,所以我的流事件触发并流创建了一个媒体:

rtcMultiConnection.onstream = function(event) {
    if (event.stream.getVideoTracks().length) {
        $('.users-container').append(event.mediaElement);
    }
}

发生错误:

Refused to load media from 'blob:http://localhost:8000/74677955-8811-43d0-bf30-2362208364d7' because it violates the following Content Security Policy directive: "media-src *".

它适用于 Mozilla Firefox,但不适用于 Android、Chrome 浏览器和 IOS。

编辑

AndroidManifest 权限:

<uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.MICROPHONE" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

我看不到 android 错误。

最佳答案

尝试在元标记和通配符中使用“media-src blob:”:

<meta http-equiv="Content-Security-Policy" content="default-src * 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src http://* 'self' 'unsafe-inline'; media-src * blob:">

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/media-src

关于 Cordova : Content Security Policy directive: "media-src *",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46069143/

相关文章:

.htaccess - 最新的 Chrome 更新忽略了内容安全策略

html - 无法将内容安全策略 img-src 设置为与特定国家/地区的域一起使用

cordova - 黑莓 10 白名单

ios - Phonegap 中 ios 的蓝牙插件

javascript - 使用 cordova-plugin-camera 将 URI 图像转换为 base64 格式

XCode 中的 iPhone jQuery mobile + PhoneGap .. 具有用于多个 View /页面的多个 html 文件

Cordova 内容安全策略

apache - 使用 Apache 2.4 生成随机数(用于内容安全策略 header )

javascript - Google Analytics.js 和内容安全政策

android - phonegap android 应用程序只显示连接到设备