我有一个 iOS Cordova/Phonegap 项目,它从互联网加载 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: *” header ,但它仍然不起作用。
最佳答案
面对同样的问题,我认为在 iOS 11 中使用“WKURLSchemeHandler”拦截你的请求可以解决它。
关于javascript - 如何在 Cordova/Phonegap 中的远程 html 文件中包含本地脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47621651/