需要使用data.json
文件中的javascript检测应用文档文件夹(index.html
)中文件的存在。 JS代码可以测试index.html
文件所在的文件夹中是否存在文件。如果我将url硬编码到Documents文件夹,html + JS文件就可以工作,但是为了部署到我希望以编程方式查找文件的设备。
我可以在JS(嵌入在index.html文件中)中执行此操作吗?如果不允许,我是否需要在ObjectiveC中编写javascript,然后加载html +包含使用"src=file:/%@/data.json",stringRelativePathToDocumentsVar
的JS代码的字符串,如@fallenreaper在this SO question中提到的那样。
以下是我的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>"];
使用(from this SO Q:)获得documents_path
的地方:
NSArray *paths = NSSearchPathForDirectoriesInDomains
(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documents_path = [paths objectAtIndex:0];
让我知道这是否在正确的轨道上,或者我是否应该考虑更优雅的东西。任何提示/提示将不胜感激。
**更新**
文件data.json
可以是任何文件(txt,xml等),其中我存储通过URL方案传递给此应用程序的字典。从技术上讲,此应用程序在本地运行,无需网络访问。此应用程序(appA)查询设备上安装的另一个应用程序(appB),该应用程序将数据发送到appA。然后AppA在本地保存信息,我需要显示该文件可用(或更新)的通知。
答案 0 :(得分:0)
在我的Cordova应用程序中,我下载了应用程序的文件并将其保存在Documents文件夹中。然后,我使用
链接到这些图像,视频和音频"../../Documents/myfile/myfile.jpg"