cordova白名单在android中不起作用

时间:2015-04-27 13:22:47

标签: cordova

对于cordova 5.0.0,我设置了:

<access origin="*" launch-external="yes"/>

并使用

<script src="http://cdn.bootcss.com/bootstrap/3.3.4/js/bootstrap.min.js">

在我的HTML中,但是当我启动它时,日志说:

url blocked by whitelist

之前有人遇到过这个问题吗?

3 个答案:

答案 0 :(得分:1)

我可以使用以下插件解决此问题:https://github.com/apache/cordova-plugin-whitelist,然后在config.xml中添加适当的内容安全策略。

以下是执行此操作的步骤摘要:

  • 使用CLI添加白名单插件:\:
  • 可能已经存在,但在config.xml中添加了一个访问来源,将您的域列入白名单,例如:cordova plugin add https://github.com/apache/cordova-plugin-whitelist
  • 在必要的HTML文件中添加Content Security Policy,例如index.html:<access origin="https://*.MYDOMAIN.com" />
  • 再次从CLI构建并运行android项目:<meta http-equiv="Content-Security-Policy" content="default-src 'self' https://*.MYDOMAIN.com; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">

请注意,查看logcat以查看您收到的错误可能会有所帮助。这可以通过以下命令行完成:cordova run android

此外,正如我在上面的评论中所指出的,这似乎是5.0.0的问题。 4.3.0中不需要这些步骤,因此如果可能的话,使用该版本可能更容易。

此外,请注意,如果您从上面复制和粘贴,我使用https,所以如果您只需要http,请确保删除's':)

答案 1 :(得分:0)

这是一个麻烦的问题,我做所有的配置,它不起作用,所以我 修改其源代码:

请求由以下人员处理:

PluginManager.shouldAllowRequest

我将最后一个“return false”更改为“return true”并且一切正常

答案 2 :(得分:-1)

确保config.xml位于index.html旁边,否则将无法找到。