我正在使用cordova开发应用程序,无论如何,只要在Android上运行该应用程序,YouTube iframe都不会加载。我已经尝试过在这里和其他网站上看到的一些内容,例如对白名单进行更改,向元标记“ Content-Security-Policy”添加参数,对配置文件进行更改...对我没有用。我对此问题感到有些沮丧。我知道此问题与Cordova出于安全目的而不允许其他网站在应用程序上显示数据有关,但我不知道如何使它工作。如果有人可以帮助我,我将非常感激。
这是我的Content-Security-Policy元标记:
<meta http-equiv="Content-Security-Policy" script-src='unsafe-inline'>
这是我的配置文件
<content src="index.html" />
<access origin="*" />
<allow-navigation href="https://*youtube.com/*"/>
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<platform name="android">
<allow-intent href="market:*" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>
<plugin name="cordova-plugin-device" spec="^2.0.2" />
<plugin name="cordova-plugin-whitelist" spec="^1.3.3" />
<plugin name="cordova-plugin-browsersync" spec="^1.1.0" />
配置文件具有默认行,但是正如我之前所说,我已经尝试了所有已建立的东西。帮助!
答案 0 :(得分:1)
由于某种原因,在重新安装白名单插件并按原样进行通讯之后,问题得到解决,现在youtube iframe可以了。在阅读了一些论坛和文章之后,我相信解决该问题的方法是在配置文件上的这一行:
<allow-navigation href="https://*youtube.com/*"/>