首先我們說HTML中的base標簽寫相對路徑的內容:
html中base標簽解決相對路徑問題,
問題是門戶系統一直使用的是相對路徑,首頁做了rewrite,而首頁的很多鏈接(包括css、js、圖片等)都是相對路徑,問了門戶系統那邊的沒法解決,只能用相對路徑。
杯具來了,href= news/2014/05/25/1234.html 類似這樣的鏈接都成了http://www.111cn.net /news/2014/05/25/1234.html的全路徑,而這個路徑在nginx中是沒法識別成門戶系統的(nginx是通過/portal來匹配的)。
這是因為:HTML文檔所有鏈接中的相對路徑,瀏覽器都會提取當前文檔的URL來填充。
突然想起了HTML的base標簽,來看W3C的解釋:
base 標簽為頁面上的所有鏈接規定默認地址或默認目標。
通常情況下,瀏覽器會從當前文檔的 URL 中提取相應的元素來填寫相對 URL 中的空白。
使用 base 標簽可以改變這一點。瀏覽器隨后將不再使用當前文檔的 URL,而使用指定的基本 URL 來解析所有的相對 URL。這其中包括 a 、 img 、 link 、 form 標簽中的 URL。
html中base標簽的使用實例:
head base href= http://www.survivalescaperooms.com/i/ / base target= _blank / /head body img src= eg_smile.gif / a href= http://www.survivalescaperooms.com W3School /a /body
問題解決了。
注:文中使用的域名是真的,但是路徑確是找不到的。
base標簽最好不要動態寫入,否則在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標記是一個基鏈接標記,是一個單標記。用以改變文件中所有連結標記的參數內定值。它只能應用于標記 head 與 /head 之間。
利用html中的 base 標簽獲取相對路徑:(絕對路徑不支持)
下面是對html中的 base 的介紹:
base 元素可規定頁面中所有鏈接的基準 URL
默認情況下,頁面中的鏈接(包括樣式表、腳本和圖像的地址)都是相對于當前
頁面的地址(即:瀏覽器地址欄里的請求URL)。
我們可以使用 base 標簽中的href屬性來設置,所有的“相對基準 URL”。
上面說的是什么意思呢?我們來看看代碼就知道咯~~
這是JSP端的代碼 ,下面的代碼 (十分類似上面 “方法一” 中的JSP代碼)
但是這里我們并沒有采用 ${pageScope.basePath}+”相對路徑地址” 的方法,
現在采用了html文件中的 base 標簽:
html head base href= http://localhost:8080/MyApp/ /head !-- // 設置了 base 后,相對路徑,相對于的就是base中的路徑,而不再是瀏覽器地址的請求路徑啦~~~ -- a href= jsp/login.jsp Login /a /html
【小編推薦】
HTML中head標簽是什么意思?一篇文章教你正確地使用head標簽
html p 標簽是什么元素?關于html p標簽的定義和作用詳解
以上就是HTML中的base標簽如何寫相對路徑?(內附使用介紹)的詳細內容,html教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答