要实现一个简单的路由监听,可以使用浏览器自带的 window.location
对象和 window.addEventListener()
方法。具体步骤如下:
- 创建一个函数,用来处理路由变化的事件。这个函数需要获取当前 URL 中的路径,并根据不同的路径来执行不同的操作。
- 在页面加载完成后,调用这个函数一次,以便初始化页面。
- 使用
window.addEventListener()
方法来监听hashchange
事件,当 URL 的 hash 值发生变化时就会触发这个事件,然后调用上面定义的处理函数。
以下是一个简单的示例代码:
function handleRouting() {
var path = window.location.pathname;
// 根据不同的路径执行不同的操作
switch (path) {
case '/':
// 处理根路径
break;
case '/about':
// 处理关于页面
break;
case '/contact':
// 处理联系页面
break;
default:
// 处理其他未知路径
break;
}
}
// 页面加载完成后调用一次
handleRouting();
// 监听 hashchange 事件
window.addEventListener('hashchange', handleRouting);
需要注意的是,在这个示例中我们只监听了 URL 的路径部分,如果需要监听整个 URL,包括查询参数和 hash 值,可以使用 window.location.href
属性。