有一个旧的phonegap应用程序运行正常(使用jquery mobile)。更新到最新的Cordova(截至11/11/15),更新了jquery 2.1.4和jquery mobile 1.4.5。该应用程序开始工作得很好,但多个页面进入它似乎是一个问题,加载一个新的本地网址。
我正在使用window.location.href = path
,它适用于查看网络日志的几页。我看到的内容类似于"导航到文件:///android_asset/www/dashboard.html",&# 34;导航到file:///android_asset/www/study_text.html"但是突然之间,我将加载一个新的页面并获得" GET文件:///android_asset/quiz.html net :: ERR_FILE_NOT_FOUND" (www文件夹是mising)
看起来它所取的网址有时会有www /有时不会。所有文件都在www的根目录中,基本href设置为"。"。它给出的所有url路径都是相对的,但不包含文件夹,因为它们都在根目录中。所以真正的问题是,为什么javascript中的文件位置会发生变化?我总是请求一个像window.location.href =" a.html" " b.html" " c.html&#34 ;;大多数时候文件被引用得很好" file:///android_asset/www/a.html"但是,他们会开始像#34; file:///android_asset/a.html"一样被引用。有谁知道为什么?
- 更新 - 因此,我似乎取得了一些成功的临时解决方案是通过ajax测试文件是否存在并根据需要更改位置。但是我不应该这样做,我不确定当我切换到iOS和Windows手机测试时它是否会一直有效。所以我仍然需要找出为什么路径正在改变我。
$.ajax({
url:path,
type:'HEAD',
error: function()
{
window.location.href = "www/"+path;
},
success: function()
{
window.location.href = path;
}
});