我创建了一个使用香草JS来实现路由的应用。 这是代码。
路由器代码JS:
display: none
HTML:
脚本标签按此顺序加载到标题中
const routes = {
'/customers': customers,
'/tracker': tracker,
};
const rootDiv = document.querySelector('.router-outlet');
routes[window.location.pathname] = `
<h2 class='opening-title'>Welcome to Lorem Ipsum's admin app</h2>
<p>Select an item in the top right menu to begin.</p>
`;
rootDiv.innerHTML = routes[window.location.pathname];
function onNavigate(pathname) {
window.history.pushState({}, pathname, window.location.origin + pathname);
rootDiv.innerHTML = routes[pathname];
}
window.onpopstate = () => {
rootDiv.innerHTML = routes[window.location.pathname];
};
大问题
所以我遇到的问题是:当您在主页上加载页面时,它可以正常工作,然后导航到其他页面,它也可以正常工作。但是,例如当打开./customers页面并刷新浏览器时,它将在浏览器窗口中引发错误,提示“无法获取./customers”。
现在我还应该提到我不认为这是一个深层链接问题,因为“其他页面”实际上只是其他JS文件。所有JS文件都位于带有index.html文件的根目录中。
如何阻止浏览器出现GET错误