英文: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