在系统中更新Cordova 5.0之后,我创建了新的应用程序。当我在设备上测试我的应用程序时,我会在控制台日志中遇到错误:
No Content-Security-Policy meta tag found.
Please add one when using the Cordova-plugin-whitelist plugin.: 23.
我在头部添加元
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src: 'self' 'unsafe-inline' 'unsafe-eval'>
但是,同样,我遇到了同样的错误,在应用程序内使用应用程序内浏览器插件和其他7个网站链接中。
答案
添加后Cordova-Plugin-Whitelist,如果要保持特定的话,必须告诉您的应用程序以允许访问所有网页链接或特定链接。
您可以简单地将其添加到您的config.xml,可以在您的应用程序的根目录中找到:
Recommended在文档中:
<allow-navigation href="http://example.com/*" />
或者:
<allow-navigation href="http://*/*" />
从插件的文档中:
Navigation Whitelist
可以将网络浏览量本身URL的控件导航到。仅适用于顶级导航。
怪癖:在Android上,它也适用于非HTTP(S)方案的IFRAME。
默认情况下,仅允许file:// url的导航。要允许其他其他URL,您必须将标签添加到config.xml:
<!-- Allow links to example.com --> <allow-navigation href="http://example.com/*" /> <!-- Wildcards are allowed for the protocol, as a prefix to the host, or as a suffix to the path --> <allow-navigation href="*://*.example.com/*" /> <!-- A wildcard can be used to whitelist the entire network, over HTTP and HTTPS. *NOT RECOMMENDED* --> <allow-navigation href="*" /> <!-- The above is equivalent to these three declarations --> <allow-navigation href="http://*/*" /> <allow-navigation href="https://*/*" /> <allow-navigation href="data:*" />