document.baseuri精确返回实际生效的base href值或回退至当前页面url;它不改变window.location/document.url,仅用于new url()构造,fetch/import等js运行时路径不受影响。

document.baseURI 总是返回当前生效的 base href 值
只要 <base href="https://cdn.example.com/v3/"> 正确写在 最前面,document.baseURI 就会精确返回这个值;如果 <base> 被忽略(比如写成 <base href="assets/">),document.baseURI 就退回到当前页面 URL(如 https://example.com/blog/post.html)。它不“猜测”,也不“推导”,只忠实反映浏览器实际采用的基准 URL。
base 标签不改写 window.location 或 document.URL
window.location 和 document.URL 完全不受 <base> 影响——它们始终代表浏览器地址栏当前显示的真实 URL。这点常被误用:有人以为设了 <base href="/admin/"> 后,window.location.pathname 就会变成 /admin/,其实不会。它只影响 HTML 解析时对 src、href 等属性中纯相对路径的拼接逻辑,和运行时地址对象无关。
使用 PptxGenJS 和 Python 解析,将结构化的 HTML/CSS 幻灯片内容转换为原生、可编辑的 PowerPoint(.pptx)演示文稿。
new URL() 可以用 document.baseURI 做 base 参数,但 fetch 不会自动用它
你得主动用:new URL('data.json', document.baseURI) 才能得到正确绝对路径;但 fetch('./api/user') 仍按当前页面 URL 解析,不会读 document.baseURI。同样,import('./utils.js')、new Worker('./worker.js') 全部绕过 <base>。这些是 JS 运行时行为,和 HTML 解析阶段的 <base> 属于两个世界。
base href 写错会导致 document.baseURI “看起来正常”,但资源全 404
这是最隐蔽的坑:<base href="myapp/">(缺 / 或协议)会被浏览器静默丢弃,document.baseURI 仍返回页面 URL,看似没异常;但所有 <img src="logo.png"> 都按错误起点解析,上线后批量 404。验证方法很简单:console.log(document.baseURI),如果它没变,大概率 <base> 没生效。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










