使用Ratchet push.js以编程方式加载URL

时间:2013-08-08 07:31:47

标签: javascript ratchet ratchet-2 ratchet-bootstrap push.js

Ratchet单页面应用程序框架使用push.js将新页面加载到视图中。例如:

<a href="link.html">link<a>

这将使用push将.content div中的所有内容替换为link.html的.content。如果你在两个页面都有它们,它也会更新.bar-title和.bar-tab。

我想在Javascript函数调用中使用相同的机制。在我开始修补Ratchet之前,有没有一种优雅的方法呢?

谢谢!

3 个答案:

答案 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" })
相关问题