我创建了Phonegap应用程序,用于保存文件系统中的网页。当我从文件系统打开任何这些网页时,只加载所选页面,但不加载相关文件(图像,css等)。
例如,路径下的文件系统中有网页:
cdvfile://localhost/temporary/1/
在此目录中有以下文件:index.html,style.css,img / background.png等。 当我打开文件index.html时,只打开此文件,但页面没有样式,也没有图像。这些相关文件在index.html中具有相对路径。
此情况仅适用于iOS平台。在Android平台和谷歌Chrome上都可以。为什么这样,我能解决它吗?
编辑:
我刚刚发现从文件加载的链接和js工作。例如:
<a href="page_b.html">link</a>
打开右页。但是css喜欢:
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
<link rel="stylesheet" href="css/style.css"/>
</head>
坏了。
编辑:
不幸的是,这是cordova项目中的一个漏洞:https://issues.apache.org/jira/browse/CB-6532
答案 0 :(得分:0)
请参阅https://stackoverflow.com/a/22801512/276648
我最终使用相对路径(例如../../Documents/MyApp/temporary/1/
)而不是完整路径(即cdvfile://localhost/temporary/1/
)来修复iOS中的CSS问题。
答案 1 :(得分: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
如果接受拉取请求,请记得撤消。