gpt4 book ai didi

javascript - 在 iOS 中使用带有 Javascript 的 UIWebView 到 ~/Documents/folder 的相对路径

转载 作者:行者123 更新时间:2023-11-30 06:26:17 33 4
gpt4 key购买 nike

需要使用 index.html 文件中的 javascript 检测应用的 Documents 文件夹中是否存在文件 (data.json)。 JS代码可以检测index.html文件所在文件夹中是否存在文件。如果我将 url 硬编码到 Documents 文件夹,html+JS 文件就可以工作,但为了部署到设备,我想以编程方式找到该文件。

我可以在 JS 中执行此操作(嵌入在 index.html 文件中)吗?如果不允许,我是否需要在 ObjectiveC 中编写 javascript,然后加载 html + 包含使用 "src=file:/%@/data.json",stringRelativePathToDocumentsVar 的 JS 代码的字符串正如this SO question中提到的来自@fallenreaper。

下面是我的 index.html 文件中的 JavaScript 代码:

<script type='text/javascript'>
function get_error(x){
document.getElementsByTagName('span')[0].innerHTML+=x+" does not exist.";
}
url="~/Documents/data.json";
url+="?"+new Date().getTime()+Math.floor(Math.random()*1000000);
var el=document.createElement('script');
el.id="data.json";
el.onerror=function(){if(el.onerror)get_error(this.id)}
el.src=url;
document.body.appendChild(el);
</script>

需要在 ObjC 中形成的代码如下所示:

NSString *urlRelPath = [[@"<script type=\"text/javascript\" url=\"file:/%@" stringByAppendingString:documents_path] stringByAppendingString:@"\"></script>"];

其中 documents_path 是使用 ( from this SO Q: ) 获得的:

NSArray *paths = NSSearchPathForDirectoriesInDomains
(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documents_path = [paths objectAtIndex:0];

如果这在正确的轨道上,或者我是否应该考虑更优雅的东西,请告诉我。任何提示/技巧将不胜感激。

** 更新 **文件 data.json 可以是任何文件(txt、xml 等),我在其中存储通过 URL 方案传递给此应用程序的字典。从技术上讲,此应用程序在没有网络访问权限的情况下在本地运行。此应用程序 (appA) 查询安装在设备上的另一个应用程序 (appB),该应用程序将数据发送到 appA。 AppA 然后将信息保存在本地,我需要显示文件可用(或已更新)的通知。

最佳答案

在我的 Cordova 应用程序中,我为我的应用程序下载文件并将它们保存在 Documents 文件夹中。然后我相对使用链接到这些图像、视频和音频

"../../Documents/myfile/myfile.jpg"

关于javascript - 在 iOS 中使用带有 Javascript 的 UIWebView 到 ~/Documents/folder 的相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20881548/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com