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



使用phonegap,使用沿着:

的行,可以通过编程切换到另一页到另一页很微不足道。
window.location.href = "someDestination.html";

但是,我注意到出于某种原因,如果目标文件上的扩展名不是'.html',则这将无效。例如,以下代码:

window.location.href = "someOtherDestination";

...将导致电话盖失败,并在以下错误消息中失败:

无法加载网页,没有错误:框架加载中断

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

所以我的问题是,为什么PhoneGap关心文件名是否以.htm/.html结束,我该如何使其停止关心?

大声笑:

function getHTMLFile(str) {
    return str + '.html';
}
function getHTMFile(str) {
    return str + '.htm';
}

; - )

否,但是真的,这是窗口的一部分。LACATION.HREF的规格。这不是电话盖的特定问题。您将无法简单地使用JavaScript覆盖此内容(请参阅此)。

我也遇到了这个cordova/phonegap 3.0

在我的页面顶部附近,我有一个重定向。我知道,不是"响应式设计",而是一个很好的临时修复程序,用于显示适合iPhone的UI。

<script>
  if (navigator.userAgent.match(/(iPhone|iPod).*AppleWebKit/i)) {
    window.location = "iphone/";
  }
</script>

失败,同样的错误。将其更改为

window.location = "iphone/index.html";

修复了错误

最新更新