Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在移动应用程序中导航而不重新加载所有资源?_Javascript_Jquery Mobile_Cordova_Navigation_Mobile Application - Fatal编程技术网

Javascript 如何在移动应用程序中导航而不重新加载所有资源?

Javascript 如何在移动应用程序中导航而不重新加载所有资源?,javascript,jquery-mobile,cordova,navigation,mobile-application,Javascript,Jquery Mobile,Cordova,Navigation,Mobile Application,考虑到移动应用程序不是本地的,而是用phonegap(或类似的东西)制作的,我想知道是否有一个javascript/jquery库,我可以使用它从一个html页面导航到另一个页面,而无需重新加载所有ls和css资源 或多或少像jquerymobile那样 一个问题是增强每个页面上的所有ui和js小部件 有什么想法吗?您可以对任何本地URL进行AJAX调用,并将整个响应封装在可通过jQuery遍历的内容中,例如 // on click link -> $.get('myUrl.html',

考虑到移动应用程序不是本地的,而是用phonegap(或类似的东西)制作的,我想知道是否有一个javascript/jquery库,我可以使用它从一个html页面导航到另一个页面,而无需重新加载所有ls和css资源

或多或少像jquerymobile那样

一个问题是增强每个页面上的所有ui和js小部件


有什么想法吗?

您可以对任何本地URL进行AJAX调用,并将整个响应封装在可通过jQuery遍历的内容中,例如

// on click link ->
$.get('myUrl.html', function(response) {
    var new_body, traversable;

    traversable = $('<div></div>', {
        html: response
    });

    new_body = traversable.find('body').html();

    // code to replace your content here ...
});
//点击链接->
$.get('myUrl.html',函数(响应){
var新_体,可遍历;
可遍历=$(“”{
html:响应
});
new_body=traversable.find('body').html();
//在此处替换您的内容的代码。。。
});

如果每页都有大量脚本/样式运行,则可以遍历
traversable.find('link')
traversable.find('script')
列表,比较已使用和未使用的内容。然后在替换标记后附加到文档。

我想你说的是Phonegap

是的,Jquery mobile是您问题的解决方案,因为无论何时我们在Jquery mobile中更改页面,而不是重新加载整个DOM,它只替换/插入(取决于是否启用缓存)要显示的新页面div


因此,您最初包含的所有资源都将在所有页面中保留并可用。

根据html和css的编写方式,您可以将页面包装为div,并使用css转换将其放置在屏幕外,然后在用户单击链接时将其滚动到视图中


phonegap内部的jQuery mobile非常非常慢。

有趣的方法,我会尝试一下。我的缺点是,我今天无法预测您会遇到在一个页面中有很多标记的问题。我需要以某种方式卸载不可见的页面。这是一种权衡。根据应用程序的大小,将所有内容放在一个页面中可能是值得的。稍微偏离主题,但只是稍微偏离主题:签出