使用Phonegap,使用以下代码编程从一个页面切换到另一个页面是微不足道的:
window.location.href = "someDestination.html";
但是,我注意到由于某种原因,如果目标文件上的扩展名不是“.html”,则无法使用。例如,以下代码:
window.location.href = "someOtherDestination";
...将导致PhoneGap失败并显示以下错误消息:
无法加载包含错误的网页:帧加载中断
我原以为PhoneGap足够聪明,可以检查目标文件的内容,以确定它是否是一个有效的网页(例如,通过查找<html>
标记),而不是试图依赖在多余的信息,如文件扩展名。但事实似乎并非如此。
所以我的问题是,为什么PhoneGap会关注文件名是否以.htm
/ .html
结尾,如何让它停止关心这个?
答案 0 :(得分:2)
LOL:
function getHTMLFile(str) {
return str + '.html';
}
function getHTMFile(str) {
return str + '.htm';
}
- )
不,但严重来说这是window.location.href规范的一部分。这不是PhoneGap的具体问题。您无法使用javascript简化覆盖此操作(请参阅this)。
答案 1 :(得分:0)
我也遇到了这个Cordova / Phonegap 3.0
在我的页面顶部附近,我有一个重定向。我知道,这不是“响应式设计”,而是显示适合iPhone的用户界面的一个很好的临时修复。
<script>
if (navigator.userAgent.match(/(iPhone|iPod).*AppleWebKit/i)) {
window.location = "iphone/";
}
</script>
失败并出现同样的错误。将其更改为
window.location = "iphone/index.html";
修正错误