本文介绍了Cordova:内容安全政策指令:“ media-src *”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的元标记:
<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 *">
我正在使用此meta标记在端口上调用服务器的socket.io.js文件,例如:
I am using this meta tag to call server's socket.io.js file on port like :
<script src="https://example.co:3344/socket.io/socket.io.js"></script>
这是针对WebRTC(rtcmulticonnection)的,因此我的流事件被触发并流创建了媒体:
This is for WebRTC (rtcmulticonnection), so my stream event triggered and stream create a media :
rtcMultiConnection.onstream = function(event) {
if (event.stream.getVideoTracks().length) {
$('.users-container').append(event.mediaElement);
}
}
发生错误:
它可以在Mozilla Firefox中使用,但不能在Android,Chrome浏览器和IOS中使用。
It works in Mozilla Firefox, but not work in Android, Chrome Browser and IOS.
编辑
AndroidManifest权限:
AndroidManifest permissions :
<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错误。
I could not see android error.
推荐答案
在元标记和通配符中尝试使用 media-src blob::
Try 'media-src blob:' in your meta tag as well as the wildcard:
<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:">
这篇关于Cordova:内容安全政策指令:“ media-src *”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!