使用sammy.js进行绝对URL路由

时间:2012-08-10 23:17:26

标签: routing sammy.js

我有一个绝对的网址:

<a href="https://circleci.com/docs/configuration">configuration</a>

我使用Sammy.js进行路由,但它不会路由它。但是,它很高兴路由相同URL的相对版本:

<a href="/docs/configuration">configuration</a>

如何以同样的方式让绝对版本的sammy路由?

1 个答案:

答案 0 :(得分:0)

您仍然可以在href中使用哈希,即href="#ESPN"

然后使用Sammy捕获路径并使用location.assign方法加载新URL或检索文档:

Sammy(function () {
    /* Top-bar navigation requests
    */
    this.get("#:view", function () {
        switch (this.params.view) {              
            case "ESPN":
                location.assign("http://www.espn.com")
                break;    
        };
    });

    /* Reporting Excel requests
    */
    this.get("#Reporting/Excel/:type/:audience/:unitID/:departmentID", function () {
        location.assign("Report/Excel?" +
            "Type=" + this.params.type + "&" +
            "Audience=" + this.params.audience + "&" +
            "UnitID=" + this.params.unitID + "&" +
            "DepartmentID=" + this.params.departmentID
        );
    });
}).run();