溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在HTML中的base標簽寫相對路徑

發(fā)布時間:2020-07-21 13:55:57 來源:億速云 閱讀:213 作者:Leah 欄目:web開發(fā)

今天就跟大家聊聊有關怎么在HTML中的base標簽寫相對路徑,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

首先我們說HTML中的base標簽寫相對路徑的內(nèi)容:

html中base標簽解決相對路徑問題,

問題是門戶系統(tǒng)一直使用的是相對路徑,首頁做了rewrite,而首頁的很多鏈接(包括css、js、圖片等)都是相對路徑,問了門戶系統(tǒng)那邊的沒法解決,只能用相對路徑。

杯具來了,href="news/2014/05/25/1234.html"類似這樣的鏈接都成了http://www.111cn.net /news/2014/05/25/1234.html的全路徑,而這個路徑在nginx中是沒法識別成門戶系統(tǒng)的(nginx是通過/portal來匹配的)。

這是因為:HTML文檔所有鏈接中的相對路徑,瀏覽器都會提取當前文檔的URL來填充。

突然想起了HTML的base標簽,來看W3C的解釋:

<base> 標簽為頁面上的所有鏈接規(guī)定默認地址或默認目標。

通常情況下,瀏覽器會從當前文檔的 URL 中提取相應的元素來填寫相對 URL 中的空白。

使用 <base> 標簽可以改變這一點。瀏覽器隨后將不再使用當前文檔的 URL,而使用指定的基本 URL 來解析所有的相對 URL。這其中包括 <a>、<img>、<link>、<form> 標簽中的 URL。

html中base標簽的使用實例:

<head>
<base href="https://cache.yisu.com/upload/information/20200318/90/8113.jpg" />
<a href="http://www.php.cn">W3School</a>
</body>

問題解決了。

注:文中使用的域名是真的,但是路徑確是找不到的。

base標簽最好不要動態(tài)寫入,否則在Firefox和IE中會有一個小bug,比如對于頁面http://localhost/static/test.html:

html中base標簽的使用實例:

<html>
<head>
<script>
document.write('<base href="http://localhost/" />');
</script>
</head></p> <p><body>
<img src="static/1.jpg" />
</body>
</html>

base標記是一個基鏈接標記,是一個單標記。用以改變文件中所有連結(jié)標記的參數(shù)內(nèi)定值。它只能應用于標記<head>與</head>之間。

利用html中的 <base>標簽獲取相對路徑:(絕對路徑不支持)

下面是對html中的 <base>的介紹:

base 元素可規(guī)定頁面中所有鏈接的基準 URL

默認情況下,頁面中的鏈接(包括樣式表、腳本和圖像的地址)都是相對于當前

頁面的地址(即:瀏覽器地址欄里的請求URL)。

我們可以使用 <base>標簽中的href屬性來設置,所有的“相對基準 URL”。

上面說的是什么意思呢?我們來看看代碼就知道咯~~

這是JSP端的代碼 ,下面的代碼 (十分類似上面 “方法一” 中的JSP代碼)

但是這里我們并沒有采用 ${pageScope.basePath}+”相對路徑地址” 的方法,

現(xiàn)在采用了html文件中的 <base>標簽:

<html>
<head>
<base href="http://localhost:8080/MyApp/">
</head>
<!-- // 設置了 <base>后,相對路徑,相對于的就是base中的路徑,而不再是瀏覽器
地址的請求路徑啦~~~  -->
<a href="jsp/login.jsp">Login </a>
</html>

看完上述內(nèi)容,你們對怎么在HTML中的base標簽寫相對路徑有進一步的了解嗎?如果還想了解更多知識或者相關內(nèi)容,請關注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI