Phonegap - 文件名中不包含.htm / .html的HTML文件

时间:2012-11-01 06:08:06

标签: javascript android iphone html cordova

使用Phonegap,使用以下代码编程从一个页面切换到另一个页面是微不足道的:

window.location.href = "someDestination.html";

但是,我注意到由于某种原因,如果目标文件上的扩展名不是“.html”,则无法使用。例如,以下代码:

window.location.href = "someOtherDestination";

...将导致PhoneGap失败并显示以下错误消息:

  

无法加载包含错误的网页:帧加载中断

我原以为PhoneGap足够聪明,可以检查目标文件的内容,以确定它是否是一个有效的网页(例如,通过查找<html>标记),而不是试图依赖在多余的信息,如文件扩展名。但事实似乎并非如此。

所以我的问题是,为什么PhoneGap会关注文件名是否以.htm / .html结尾,如何让它停止关心这个?

2 个答案:

答案 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";

修正错误