1

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

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

但是,我注意到由于某种原因,如果目标文件上的扩展名不是“.html”,这将不起作用。例如,下面的代码:

window.location.href = "someOtherDestination";

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

无法加载网页并出现错误:帧加载中断

我原以为 PhoneGap 会足够智能,可以检查目标文件的内容以确定它是否是有效的网页(例如,通过查找<html>标签),而不是试图依赖像文件扩展名这样的多余信息。但情况似乎并非如此。

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

4

2 回答 2

2

哈哈:

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

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

;-)

不,但说真的,这是 window.location.href 规范的一部分。这不是 PhoneGap 特定的问题。您将无法简单地使用 javascript 来覆盖它(请参阅this)。

于 2012-11-01T09:35:53.783 回答
0

我也遇到了这个 Cordova/Phonegap 3.0

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

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

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

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

修复了错误

于 2013-07-31T17:46:27.293 回答