日期:2014-01-22  浏览次数:20689 次

网页制造aiyiweb文章简介:英文: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);
友情链接: 爱易网 云虚拟主机技术 云服务器技术 程序设计技术 开发网站 APP开发教程
Copyright © 2013-2024 爱易网页 当前在线:607人  网站在1时47分15秒内访问总人数:34778人 当前 6.42%  粤ICP备18100884号-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