要轻松更新我的应用,我会将www文件夹的内容复制到手机中,然后执行window.location = workingDirectory.toURL() + "/index.html"
。
编辑 - 请注意,这在Phonegap 3.4中有效,但在3.5上没有(当我尝试更改位置时似乎没有发生任何事情)。如果我使用toURL
代替toNativeURL
,那么它也适用于3.5。 使用toNativeURL
还可修复iOS上的当前问题。
复制所有文件并打开索引在iOS和Android上均可正常运行。 iOS上的问题是页面绝对没有样式,好像CSS文件的链接不起作用。在Android上一切正常。
我的链接是相对的(例如<link href="css/reseter.css" rel="stylesheet">
)。与其他页面或脚本的链接确实有效。
这是我打开的简化主页:
<!DOCTYPE html>
<html>
<head>
<title></title>
<link href="style.css" rel="stylesheet">
<script src="main.js"></script>
</head>
<body>
<div class="red">I should be red but I'm not!</div>
<a href="page2.html">This correctly takes me to the other page.</a>
</body>
</html>
的style.css
.red { color: red; }
main.js
alert("HELLO is correctly displayed");
我正确地获得了alert
(标题为cdvfile://localhost/
),我也可以正确地转到page2.html
。唯一的问题是风格。
如果我在Safari中打开指向计算机的页面,则会正确显示样式。
我尝试了一些事情,但无济于事:
<base href="cdvfile://localhost/persistent/MyApp/">
<head>
<link href="cdvfile://localhost/persistent/MyApp/css/reseter.css" rel="stylesheet">
)答案 0 :(得分:2)
我终于使用fileSystem.root.fullPath
在 PhoneGap 2.9 中使用了它。在PhoneGap 3.3上,它只返回/
。这是PhoneGap 3.3上的一个错误吗,当使用cdvfile时,除了CSS文件外,一切似乎都有效吗?
我决定暂时使用相对路径到我的应用程序for iOS PhoneGap 3.3:../../Documents/MyApp/index.html
。我不知道它是否安全使用。
编辑在 Phonegap 3.5 (我还没有在3.3中测试过),使用工作window.location = workingDirectory.toNativeURL() + "/index.html";
(即使用{{1}而不是toNativeURL
)。
答案 1 :(得分:0)
答案 2 :(得分:0)
您似乎遇到了CB-6532。我只是提出了一个修复的拉取请求 - 你可以暂时使用我的fork,直到它被接受为止:
https://github.com/loufranco/cordova-plugin-file
要使用它,请执行
cordova plugin remove org.apache.cordova.file
cordova plugin add https://github.com/loufranco/cordova-plugin-file.git
如果接受拉取请求,请记得撤消。