通過JavaScript讀取連結href的屬性值是,IE有時候會讀取出來的值是絕對路徑,而其他標準瀏覽器如Firefox則是原始路徑。
在IE中,對於JavaScript的getAttribute方法,IE還提供了第二個參數,值分別是0,1,2。為2時取原始路徑值,為1是取伺服器絕對路徑。
看一下代碼就清楚了:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><br /><html xmlns="http://www.w3.org/1999/xhtml"><br /><head><br /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><br /><title>無標題文檔</title><br /></head></p><p><body><br /><div id="test"> <a href="../index.php" mce_href="index.php"> test </a></div><div id="result"></div><br /><mce:script type="text/javascript"><!--<br />var test = document.getElementById('test');<br />var link = test.getElementsByTagName('a');<br />linkhref = link[0].getAttribute('href');<br />alert(linkhref);<br />linkhref = link[0].getAttribute('href',0);<br />alert(linkhref);<br />linkhref = link[0].getAttribute('href',1);<br />alert(linkhref);<br />linkhref = link[0].getAttribute('href',2);<br />alert(linkhref);</p><p>// --></mce:script><br /></body><br /></html><br />
參考文章:http://www.planabc.net/2008/11/06/ie-href-bug/