javascript - 如何在 Cordova/Phonegap 中的远程 html 文件中包含本地脚本?

标签 javascript ios cordova phonegap

我有一个 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/

相关文章:

javascript - 在 Javascript/Lodash 中更新对象数组中的单个对象字段

javascript - 插入媒体插件时如何防止tinymce删除URL源前缀?

ios - 添加带有向上动画的部分/行

ios - 如何分发 Storyboard View ?

javascript - 如何只从没有列名和括号的对象数组中获取值?

javascript - jQuery 我想将事件类添加到 anchor 标记的链接 ID

iphone - 访问实例变量的语法? ( Objective-C )

android-emulator - jQuery Mobile Listview - 列表项 onClick 从不在 Android Emulator 中触发

android - Cordova 构建返回缺少的 plugin.xml

ios - jenkins 中的 Cordova ios 应用程序构建错误。 fatal error : 'Cordova/CDVViewController.h' file not found