javascript判断页面访问路径是内部还是外部
时间: 2024-09-25 11:12:29 浏览: 28
在JavaScript中,判断页面访问路径是内部还是外部通常不是通过纯前端技术来完成的,因为浏览器的安全策略限制了JavaScript获取完整URL的能力,特别是关于文件协议(file://)。然而,你可以利用浏览器的一些特性来做近似的判断,比如结合`window.location.href` 和当前域名。
以下是一个简单的例子,用于区分相对路径、同域绝对路径和跨域路径:
```javascript
const isSameOrigin = () => {
const baseHost = window.location.host;
const path = window.location.pathname;
// 相对路径
if (!window.location.origin || path.startsWith('/')) {
return true;
}
// 同一域名下的绝对路径
const href = new URL(path, window.location.href);
return href.hostname === baseHost && !href.protocol.includes('http') && !href.protocol.includes('https');
};
// 判断是否为外部链接
const isExternal = () => !isSameOrigin();
console.log(isSameOrigin()); // 如果为true,则是在同一来源下
console.log(isExternal()); // 如果为true,则可能是外部链接
阅读全文