专注

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

如下

1
2
3
4
5
6
7
8
<a href="/abc/index.html">home</a>
<script>
    var link = document.getElementsByTagName('a')[0];
    var img =  document.getElementsByTagName('img')[0];
    alert(link.getAttribute('href'));
    alert(img.getAttribute('src'))
</script>

有元素a和img(标准文档模式),设置了相对路径。各浏览器效果如下

 

IE6/7:返回完整路径

 

IE8/9/10/Firefox/Safari/Chrome/Opera:返回相对路径

 

 

IE6/7中想要与其它浏览器保持一致的话,可以给getAttribute的第二个参数设为2。

1
2
3
4
5
6
7
8
<a href="/abc/index.html">home</a>
<script>
    var link = document.getElementsByTagName('a')[0];
    var img =  document.getElementsByTagName('img')[0];
    alert(link.getAttribute('href', 2)); // 注意第二个参数
    alert(img.getAttribute('src', 2)); // // 注意第二个参数
</script>

标准的getAttribute方法是没有定义第二个参数的,神奇的IE啊。以下是MSDN对setAttribute参数的描述

 如果你是用jQuery的话,也可以用jQuery.support.hrefNormalized来判断,如果值为false,说明是在IE6/7下运行。

相关:

http://msdn.microsoft.com/en-us/library/ms536429%28v=VS.85%29.aspx

 

posted on 2012-03-25 18:35  中金黄金  阅读(368)  评论(0编辑  收藏  举报