Rob*_*von 3 local-storage ios cordova wkwebview
我们有一个非常简单的 Cordova 应用程序,它将应用程序的所有内容下载到 /Documents/ 文件夹。\n这里我们存储 html、图像、css 和 javascript。我们最近迁移到 WKWebview,因为旧的已被弃用。HTML 从文档中读取并附加到本地索引文件中。这一切都很好。之后,我们尝试通过将 src 设置为“file://.../data/Containers/Application/Documents/test.js”(文件就在那里)来附加脚本块。\n不幸的是,这不受支持,我们收到消息:\n无法加载资源:操作无法完成\xe2\x80\x99。不允许操作\n我们正在使用最新的 Cordova 和最新的 IOS 平台。
\n有人知道如何解决这个问题吗?\n在模拟器中一切正常,但在 iPad 设备上却不行。
\n提前谢谢了。
\n罗宾
\n还有一个解决方案,不需要对代码进行重大更改,这是我在没有可用解决方案的绝望日子后发现的
需要执行 2 个步骤:
首先使用以下内容更新您的 config.xml
<platform name="ios">
<preference name="scheme" value="app" />
<preference name="hostname" value="localhost" />
</platform>
Run Code Online (Sandbox Code Playgroud)
然后使用未记录的方法转换您的 file:// 链接
window.WkWebView.convertFilePath(filePath)
Run Code Online (Sandbox Code Playgroud)
此方法执行到虚拟本地主机链接的转换,使文件可访问并绕过 WkWebView 限制。稍微长一点的样本是这样的
let localFile = cordova.file.dataDirectory + 'logo.png';
let convertedPath = window.WkWebView.convertFilePath(localFile);
document.getElementById("myImg").src = convertedPath;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2001 次 |
| 最近记录: |