Ratchet单页面应用程序框架使用push.js将新页面加载到视图中。例如:
<a href="link.html">link<a>
这将使用push将.content div中的所有内容替换为link.html的.content。如果你在两个页面都有它们,它也会更新.bar-title和.bar-tab。
我想在Javascript函数调用中使用相同的机制。在我开始修补Ratchet之前,有没有一种优雅的方法呢?
谢谢!
答案 0 :(得分:1)
user2078515的回答对我不起作用。 options
未正确定义,并且定义了不以全局范围表示的功能。 PUSH无论如何都在全球范围内,所以你可以这样做:
PUSH({
url: 'file:///android_asset/www/userlist.html'
});
由于某些原因我无法让transition
工作,但这可能是一个单独的问题......
答案 1 :(得分:1)
我一直在研究这个问题,并发现PUSH只能使用完整的文件路径。因此,我创建了这个函数,可以这样调用:pushRedirectTo('my_page.html')
。
function pushRedirectTo(path){
var new_path = window.location.href.split('/');
new_path.pop();
path.replace('/', '');
new_path.push(path);
new_path = new_path.join('/');
//alert('p: ' + new_path);
PUSH({url: new_path, transition: 'fade'});
}
感谢#mr-Chimp的回答,这帮助我解决了完整的路径问题。
答案 2 :(得分:0)
它不优雅,但您可以创建一个公开推送功能的全局函数。 打开ratchet.js并添加
myGlobalPushFunction = function(){ PUSH(options) }
第276行(PUSH功能上方)。然后这样称呼:
myGlobalPushFunction({ url: "index2.html", transition: "fade" })