脚本宝典收集整理的这篇文章主要介绍了英文:A链接标记ie下会自动补全href,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
英文:A链接标记ie下会自动补全
href.
Whilst working on the Ajax Link Tracker and Map@R_304_728@ I have come across an inconsistency in how the href attribute is retrieved using DOM Scripting.
The href attribute is different to other element attributes in t
hat the value set can be relative to the context of the page URL. If you set a link w
ITh a relative href attribute
<a href="
../development/
test1.ht
ML">
test page</a>
The
browser will look at the pages
current URL and derive an absolute URL for the link.
http://www.glenn.jones.net/development/test1.html
This is the root of the
PRoblem, some browsers return the text of the attribute and others return the derived absolute URL. The results also differ by the method you use to retrieve the href attribute. There are three common ways to access an attribute:
linkobj.href;
linkobj[‘href’];
linkobj.getAttribute(‘href’);
The
linkobj.href
and
linkobj[‘href’];
methods of accessing the attribute consistently return the derived absolute URL.
Microsoft has tried to address this by
problem adding a second par
ameter to the getAttribute method. The second parameter can be set to 0,1 or 2. If the parameter is set to 2 the method returns the attribute text. Any other setting will return the derived absolute URL.
linkobj.getAttribute(‘href’);
linkobj.getAttribute(‘href’,2);
|
|
Derived Absolute URL |
Attribute Text |
IE
linkobj.href;
x
IE
linkobj.getAttribute(‘href’);
x
IE
linkobj.getAttribute(‘href’,2);
x
Gecko
linkobj.href;
x
Gecko
linkobj.getAttribute(‘href’);
x
Gecko
linkobj.getAttribute(‘href’,2);
x
opera
linkobj.href;
x
O
PEra
linkobj.getAttribute(‘href’);
x
Opera
linkobj.getAttribute(‘href’,2);
x
Get attribute test page Test on IE6, Firefox 1.5 and Opera 8.51.
So what should be returned by the getAttribute method?
The W3C DOM Level 2 Core specification which sets out the structure of the getAttribute method does not cover this issue. It is not that either approach is wrong or right. On this point the specification is open to interpretation.
As a coder I would like to be able to access both values. The DOM Core specification should be updated to address the problem.
After a really good exchange with Jim in the comments below, I stand corrected. The specification does say the getAttribute should return the attribute value, not the absolute URL. The Microsoft approach is wrong.
For the time being I am using the old school object property method
linkobj.href
to return derived absolute URLs. It provides the most consistent results across all browsers.
URLs of interestW3C REC DOM Level 2 Core specification for getAttributeGecko documentation for getAttributeMicrosoft documentation for getAttributeAs usual just as I was finishing this post I found this bug report on the QuickMode site which discusses the same s
ubject.
getAttribute HREF is always absolute.html
脚本宝典总结
以上是脚本宝典为你收集整理的英文:A链接标记ie下会自动补全href全部内容,希望文章能够帮你解决英文:A链接标记ie下会自动补全href所遇到的问题。
如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。