Javascript Phonegap—不包含';不要在文件名中包含.htm/.html
使用Phonegap,使用以下代码以编程方式从一个页面切换到另一个页面非常简单:Javascript Phonegap—不包含';不要在文件名中包含.htm/.html,javascript,android,iphone,html,cordova,Javascript,Android,Iphone,Html,Cordova,使用Phonegap,使用以下代码以编程方式从一个页面切换到另一个页面非常简单: window.location.href = "someDestination.html"; 但是,我注意到,由于某种原因,如果目标文件的扩展名不是“.html”,那么这将不起作用。例如,以下代码: window.location.href = "someOtherDestination"; …将导致PhoneGap失败,并显示以下错误消息: 加载网页失败,错误为:帧加载中断 我认为PhoneGap足够智能,可
window.location.href = "someDestination.html";
但是,我注意到,由于某种原因,如果目标文件的扩展名不是“.html”,那么这将不起作用。例如,以下代码:
window.location.href = "someOtherDestination";
…将导致PhoneGap失败,并显示以下错误消息:
加载网页失败,错误为:帧加载中断
我认为PhoneGap足够智能,可以检查目标文件的内容以确定它是否是有效网页(例如,通过查找
标记),而不是试图依赖文件扩展名之类的多余信息。但事实似乎并非如此
所以我的问题是,为什么PhoneGap关心文件名是否以.htm
/.html
结尾,我如何让它不再关心这个问题 LOL:
function getHTMLFile(str) {
return str + '.html';
}
function getHTMFile(str) {
return str + '.htm';
}
;-)
不,但说真的,这是window.location.href规范的一部分。这不是PhoneGap特定的问题。您不能简单地用javascript覆盖它(请参阅)。我也遇到了这个Cordova/Phonegap 3.0 在我的页面顶部有一个重定向。我知道,这不是“响应性设计”,而是一个很好的临时补丁,用于显示适合iPhone的UI
<script>
if (navigator.userAgent.match(/(iPhone|iPod).*AppleWebKit/i)) {
window.location = "iphone/";
}
</script>
修复了错误这是“规范的一部分”是什么意思?没有什么可以阻止您说出
window.location.href='/someServlet/someAction'代码>当您要将浏览器重定向到某些动态HTML内容时。如果在somePage
文件中有一些静态HTML内容,只要宿主服务器默认将响应内容类型设置为text/HTML
,它也可以正常工作。因此,在提及当地资源时,应采用完全相同的方法。
window.location = "iphone/index.html";