【发布时间】:2017-12-03 18:20:18
【问题描述】:
我有一个 iOS Cordova/Phonegap 项目,它从 Internet 加载 html 页面。如果我上传cordova.js 和所有插件然后在html 页面中包含cordova.js,这将有效。然而,由于这些文件已经在应用程序中,让人们下载它们似乎是一种浪费。我正在尝试在远程 html 中包含本地文件,但它似乎没有加载。我该怎么做?
我在 www 有一个本地脚本 test.js
alert("test");
我得到了它的路径
[[NSBundle mainBundle] pathForResource:@"test" ofType:@"js" inDirectory:@"www"];
看起来有点像
/var/containers/Bundle/Application/E31EA51E-7ED0-4D30-90FC-57ACBF3B3DA5/MyApp.app/www/test.js
我将文件包含在远程 html 中
<html>
<head>
<meta http-equiv="Content-Security-Policy" content="default-src * 'unsafe-inline' 'unsafe-eval' gap://ready file: data:">
<script src="file:///var/containers/Bundle/Application/E31EA51E-7ED0-4D30-90FC-57ACBF3B3DA5/MyApp.app/www/test.js" type="text/javascript"></script>
但是,脚本永远不会加载。
编辑:我在 http 页面中添加了“Access-Control-Allow-Origin: *”标头,但它仍然不起作用。
【问题讨论】:
-
我放弃了。可能是某种防止远程页面包含本地脚本的安全措施。
标签: javascript ios cordova phonegap