英文:a ie下會自動補全href。
在處理Ajax鏈接跟踪器和Mapsurface時,我遇到瞭如何使用DOM腳本檢索HREF屬性的不一致。HREF屬性與其他元素屬性不同,因為值集可以相對於頁面URL的上下文。如果您設置了使用相對HREF屬性的鏈接
<a href = ../development/test1.html>測試頁面</a>
瀏覽器將查看當前URL的頁面,並得出鏈接的絕對URL。
http://www.glenn.jones.net/development/test1.html
這是問題的根源,有些瀏覽器返回屬性的文本,而另一些瀏覽器返回派生的絕對URL。結果也因您用於檢索HREF屬性的方法而有所不同。訪問屬性的三種常見方法:
linkObj.href; linkObj ['href']; linkObj.getAttribute('href');
linkobj.href和linkobj['href '];訪問屬性的方法一致返回派生的絕對URL。
微軟試圖通過問題解決此問題,將第二個參數添加到getAttribute方法中。可以將第二個參數設置為0,1或2。如果將參數設置為2 2,則方法返回屬性文本。任何其他設置都將返回派生的絕對URL。
linkObj.getAttribute('href'); linkObj.getAttribute('href',2);
絕對URL
那麼GetAttribute方法應該返回什麼? W3C DOM 2級核心規範列出了GetAttribute方法的結構不涵蓋此問題。這並不是說方法是錯誤的,也不是正確的。在這一點上,規範對解釋開放。
作為編碼器,我希望能夠訪問兩個值。應更新DOM核心規範以解決該問題。
暫時,我使用舊學校對象屬性方法linkobj.href返回派生的絕對URL。它在所有瀏覽器中提供了最一致的結果。關注的URL
就像往常一樣,就像我完成了這篇文章一樣,我在QuickMode網站上發現了此錯誤報告,該網站討論了同一主題。
getAttribute href始終是絕對的。 html