示例目錄和檔案:
parent/
├── images/
│ ├── cat.jpg
│ └── dog.jpg
└── demo.html
我在演示檔案的base標簽中使用了相對 URL:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Demo - Mori79</title>
<link rel="icon" href="/favicon.ico">
<base href="images/">
</head>
<body>
<img src="cat.jpg" alt="Cat">
<img src="dog.jpg" alt="Dog">
</body>
</html>
它沒有問題。但是,如果您在 Chrome 和 Edge 中檢查頁面源,則base相對 URL 指向的目標如下:https ://mori79.github.io/images/images/
截屏
在 Firefox 和 Safari 中有所不同:https ://mori79.github.io/images/
雖然鏈接文本是相同的,但它在不同的瀏覽器中指向不同的目的地。
這是一個真實的演示。
是我的編碼錯誤嗎?還是 Chrome 和 Edge 中的錯誤?或者可能在 Firefox 和 Safari 中?
uj5u.com熱心網友回復:
這只是開發工具中的一個“錯誤”,它顯然是根據 current 的值重新決議相對 url document.baseURI。
其他一切正常。你不需要擔心這個:
console.log(document.baseURI, document.querySelector("base").href)
// logs correctly https://stacksnippets.net/foo/ twice
<base href="foo/">
如果你真的想要,你可以在https://crbug.com上打開一個問題,但老實說,這太小了,我懷疑它是否值得你花時間。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/430611.html
