Javascript 正在使用;window.location.pathname“;编写路由特定逻辑的良好实践?

Javascript 正在使用;window.location.pathname“;编写路由特定逻辑的良好实践?,javascript,node.js,dom,Javascript,Node.js,Dom,我在前端使用main.js文件编写一些逻辑,这些逻辑只根据它所在的路由执行 我正在使用“window.location.pathname”来实现这一点。这是一种好的做法还是有更好的方法 --main.js 这是一个好的做法还是有更好的方法 在我看来,这不是一个伟大的实践,有更好的方法。您希望代码不要硬编码到特定的URL路径。一般来说,让代码操作当前的内容比操作URL要好。然后,内容提供者可以通过调整内容来控制代码的行为。多个页面可以使用相同的功能,而无需修改代码 由于我假设您在/admin/lo

我在前端使用main.js文件编写一些逻辑,这些逻辑只根据它所在的路由执行

我正在使用“window.location.pathname”来实现这一点。这是一种好的做法还是有更好的方法

--main.js

这是一个好的做法还是有更好的方法

在我看来,这不是一个伟大的实践,有更好的方法。您希望代码不要硬编码到特定的URL路径。一般来说,让代码操作当前的内容比操作URL要好。然后,内容提供者可以通过调整内容来控制代码的行为。多个页面可以使用相同的功能,而无需修改代码

由于我假设您在
/admin/login
/admin/main
页面中有一些不同的内容,因此您似乎可以在内容中使用,这将告诉浏览器您希望在哪里设置初始焦点

<input autofocus type="text" name="id" minlength="4" maxlength="8" size="10">
这将在任何页面中工作,并将第一个焦点设置为具有
firstFocus
class属性的第一个对象。这使您可以使用通用代码,并让内容控制所发生的事情。如果您的内容在页面中的某个元素上有一个
firstFocus
类,则该类将成为默认焦点。如果没有,那么什么也不会发生。该代码可以在站点中的任何页面中使用。然后,内容编辑器可以决定何时使用它,而无需涉及担心路径的代码

因此,站点中的任何页面都可以通过在页面中的元素上插入
firstFocus
类来利用这一点

<input class="firstFocus" type="text" name="id" minlength="4" maxlength="8" size="10">

这些CSS规则可以是您的通用CSS样式,但仅在
body
标记的类为
mainAdmin
的页面中有效。同样,内容的创建者可以控制样式,而无需任何自定义每页脚本。

意见问题。依我看,window.location.hash很酷
 let firstInput = document.querySelector('.firstFocus');
 if (firstInput) {
     firstInput.focus();
 }
<input class="firstFocus" type="text" name="id" minlength="4" maxlength="8" size="10">
body.mainAdmin { backgroundColor: 'white'}
body.mainAdmin .navlink a {color: 'black'}