gpt4 book ai didi

javascript - 使用director.js,如何为没有# hash 的站点根目录定义默认路由?

转载 作者:行者123 更新时间:2023-11-28 18:46:48 26 4
gpt4 key购买 nike

我正在使用flatiron/director进行客户端路由。

我有这样的路线:

  var routes = {
'': function() { loadLandingPage(); },
'/author': function() { author(); }
};

如果我访问www.example.com#/author,它会触发作者功能。如果我访问 www.example.com# 或 www.example.com#/,则会加载我的目标网页。

但是,我想为我的网站的根目录定义一个不带 # 的默认路由。我希望即使我们登陆 www.example.com 时没有 # 也能加载登陆页面。

我已经浏览了文档,但我怎么也搞不懂。我以为configuration: notfound方法会做我的想法,但它什么也没做。我尝试了以下方法:

var router = Router(routes).configure({ notfound: loadGlobalPage});

var router = Router(routes).configure({ notfound: function () {loadGlobalPage();} });

并且在阅读this thread之后,我尝试过:

router.notfound = function() {
loadGlobalPage();
};

我还尝试了与路由器无关的黑客:

function determineIfLandingPage() {
if (window.location.hash == "") {
loadGlobalPage();
window.location.href += "#"
}
}

这可行,但感觉就像是黑客攻击。

这一定是一个比较常见的用例 - 我如何从路由器获得所需的功能?

最佳答案

来自文档:redirect method将解决这个问题。

route.init(['/']) 如果在以下位置找不到 '/#/' 将重定向到路由 /网址。

关于javascript - 使用director.js,如何为没有# hash 的站点根目录定义默认路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35191710/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com