anchor.pathname 在 Chrome 上未定义,在 Firefox 上工作正常

anchor.pathname is undefined on Chrome and works fine on Firefox

在这样的文件服务器的示例页面上

"https://s-docs-srv-01.myorg.net:8443/fileServer/viewer/xxxx/test-21q2/Standard-HTML/index.html"

当我 运行 下面的代码 returns 在 Chrome 上未定义但在 Firefox 上 returns 值。

var a = document.createElement('a');
a.setAttribute("href","https://testurl.com/testfolder/folder/file.html"); 
var m = {href:a.href, pathname: a.pathname} 
console.log(m); 

在 Chrome 浏览器上:{href: undefined, pathname: undefined}

在 Firefox 浏览器上:{ href: "https://testurl.com/testfolder/folder/file.html", pathname: "/testfolder/folder/file.html" }

在普通网页上(如 https://myserver.com/file.html),代码 returns 预期值与

相同
{ href: "https://testurl.com/testfolder/folder/file.html", 
  pathname: "/testfolder/folder/file.html" }.

我不确定这是否是文件服务器上的某些配置问题。当我们第一次在代码为 pathname: "/" === o.pathname.charAt(0) ? o.pathname : "/" + o.pathname

的 axios 库的 chrome 控制台中遇到 "Uncaught TypeError: Cannot read property 'charAt' of undefined" 时,问题就开始了

知道如何处理吗?

删除 HTML 文档开头的 <?xml version="1.0" encoding="UTF-8"?> 解决了这个问题。 该页面未被视为 HTML 文档,我们发现通过执行 document instanceof HTMLDocument.