【发布时间】:2014-04-02 04:22:32
【问题描述】:
为了轻松更新我的应用,我将 www 文件夹的内容复制到手机中,然后执行window.location = workingDirectory.toURL() + "/index.html"。
编辑 - 请注意,这在 Phonegap 3.4 之前有效,但在 3.5 上无效(当我尝试更改位置时似乎没有发生任何事情)。如果我使用toNativeURL 而不是toURL,那么它也适用于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 中打开指向我的计算机的页面,样式会正确显示。
我尝试了一些方法,但无济于事:
- 在
<head>中添加<base href="cdvfile://localhost/persistent/MyApp/"> - 更新我所有的 href 和 src 以获得完整的 cdvfile 路径(例如使用
<link href="cdvfile://localhost/persistent/MyApp/css/reseter.css" rel="stylesheet">)
【问题讨论】: