我正在尝试在页面加载后打开Bootstrap 4选项卡。如果我刷新页面,它确实有效,但是如果我在站点内导航,我会收到一个查询选择器空错误。
这是我的代码,这基本上是我 https://webdesign.tutsplus.com/tutorials/how-to-add-deep-linking-to-the-bootstrap-4-tabs-component--cms-31180 做的一个移植,因为我使用的是Bootstrap-native,所以我不得不用vanilla Javascript重写它。
document.addEventListener("turbolinks:load", function() {
let url = location.href.replace(/\/$/, "");
if (location.hash) {
const hash = url.split("#");
document.querySelector('#nav-tab a[href="#'+hash[1]+'"]').Tab.show();
url = location.href.replace(/\/#/, "#");
history.replaceState(null, null, url);
setTimeout(() => {
window.scrollTo(0,0);
}, 400);
}
});
我把它放在结束身体标签之前。如果我写入并单击刷新,则页面刷新和选项卡将更改,但是如果我从(turbo)链接到达那里,则找不到要查询选择的选项卡。恐怕问题出在“load”事件上,我尝试了不同的方法,但我无法让它工作。http://www.myURL#mytab
皈依舞
相关分类