作家
登录

英文:A链接标记ie下会自动补全href

作者: 来源:www.28hudong.com 2012-11-19 13:56:33 阅读 我要评论

英文:A链接标记ie下会自动补全href. Whilst working on the Ajax Link Tracker and MapSurface 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 that the value set can be relative to the context of the page URL. If you set a link with a relative href attribute <a href="../development/test1.html">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 parameter 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 Opera 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 subject.getAttribute HREF is always absolute.html

  推荐阅读

  掌握常用的用于网页中引用内容的HTML标记

长的引使用blockquote,短的引号使用q,参考文献引用使用cite。在实践中,通常只用到blockquote和q。 根据的HTML规范,有三个元素,用于引用内容,即<blockquote> <>>>详细阅读


本文标题:英文:A链接标记ie下会自动补全href

地址:http://www.17bianji.com/kaifa2/XML/15775.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)