Cordova:链接到位于本地资源中的 javascript 个文件 不允许
Cordova: links to javascript files located in local resource Not allowed
状态:
我有一些 java 脚本文件,我从我的服务器下载并将它们保存在设备存储中,并且想 link 它们到我的 index.html
就像这样:
<script
type="text/javascript"
src="file:///data/data/<app_id>/files/path/to/my-script.js/">
</script>
CSS
.
也一样
这是错误:
Not allowed to load local resource:
file:///data/data/<app_id>/files/path/to/style.css
注意:以前版本的cordova是允许的,但是我更新到cordova 5之后,强制安装了插件白名单,然后就出现了这个权限错误。
我假设您正试图在 Android 上实现这一目标。如果那是正确的,我想您可以使用以下内容来解析外部文件系统上的任何文件:
window.resolveLocalFileSystemURL(path, cbSuccess, cbFail);
path - {string} a cordova path with scheme:
'cdvfile://localhost/<file-system-name>/<path-to-file>'
Examples: 'cdvfile://localhost/sdcard/path/to/global/file'
'cdvfile://localhost/cache/onlyVisibleToTheApp.txt'
cbSuccess - {function} a callback method that receives a DirectoryEntry object.
cbFail - {Function} a callback method that receives a FileError object.
虽然这需要一些配置。
config.xml
<preference name="AndroidPersistentFileLocation" value="Compatibility" />
<preference name="AndroidExtraFilesystems" value="sdcard,cache" />
AndroidManifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
使用了下面的question举例。
我通过使用此插件创建一个嵌入 Cordova 的微型 Web 服务器解决了这个问题 CorHttpd Cordova Plugin
然后简单地参考样式表如下:
<link src="http://localhost:8080/css/file.css">
您可以通过以下方式引用JS文件:
<script src="http://localhost:8080/js/script.js" ><script>
状态:
我有一些 java 脚本文件,我从我的服务器下载并将它们保存在设备存储中,并且想 link 它们到我的 index.html
就像这样:
<script
type="text/javascript"
src="file:///data/data/<app_id>/files/path/to/my-script.js/">
</script>
CSS
.
这是错误:
Not allowed to load local resource:
file:///data/data/<app_id>/files/path/to/style.css
注意:以前版本的cordova是允许的,但是我更新到cordova 5之后,强制安装了插件白名单,然后就出现了这个权限错误。
我假设您正试图在 Android 上实现这一目标。如果那是正确的,我想您可以使用以下内容来解析外部文件系统上的任何文件:
window.resolveLocalFileSystemURL(path, cbSuccess, cbFail);
path - {string} a cordova path with scheme:
'cdvfile://localhost/<file-system-name>/<path-to-file>'
Examples: 'cdvfile://localhost/sdcard/path/to/global/file'
'cdvfile://localhost/cache/onlyVisibleToTheApp.txt'
cbSuccess - {function} a callback method that receives a DirectoryEntry object.
cbFail - {Function} a callback method that receives a FileError object.
虽然这需要一些配置。
config.xml
<preference name="AndroidPersistentFileLocation" value="Compatibility" />
<preference name="AndroidExtraFilesystems" value="sdcard,cache" />
AndroidManifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
使用了下面的question举例。
我通过使用此插件创建一个嵌入 Cordova 的微型 Web 服务器解决了这个问题 CorHttpd Cordova Plugin
然后简单地参考样式表如下:
<link src="http://localhost:8080/css/file.css">
您可以通过以下方式引用JS文件:
<script src="http://localhost:8080/js/script.js" ><script>