开发锁事

本文探讨了在Internet Explorer 6和其他浏览器中JavaScript兼容性遇到的问题,包括弹窗函数判断、链接点击事件处理、DOM节点属性获取等方面的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.opener

弹出窗口(A)判断弹出该窗口的页面(B)是否存在某个JS函数(C),C在B页面中引用的D文件中定义

(typeof opener.C =="function")条件在IE6下返回false,在Opera,Firefox中返回true

 

2.<a href="javascript:void(0);" onclick="A" />

如果A函数负责打开一张图片,哪么图片在IE6下会显示不完整

如果A函数负责跳转当前的URL(location.href)!IE下不能完成操作!FireFox是可以完成操作的

 

3.IE下element.getAttribute("class")=null

最近在从页面中分离js代码,原来有这样的一段:
<dd id="cate_1"><a href="javascript:void(0);" onclick="functionb">anchor</a></dd>
连接点击后在页面有个层显示相应的子分类.现在换成:
<dd id="cate_1" class="parentag"><a href="a.asp?category=1"></a></dd>
所有的父类在一个id="memo"的div下!先把"memo"传给了一个函数a,a会在页面load的时候运行,a的使命就是遍历memo下的所有a标签,如果当前元素的父节点有class属性并且值等parentag哪就终止a的默认事件,给它绑定一个js函数(functionb),在firefox,opera,safari都正常,最后测试ie发现始终有错误.打印连接的父节点的nodeName="DD",再打印class属性居然等于null,换rel属性就正常!难怪js框架都钟情于rel属性.

 

4.IE下DOM 节点的属性

element.setAttribute((document.all ? 'className' : 'class'), 'somename');

 

5.IE6/IE7在XHTML的命名空间下不支持&apos;字符实体

FF,Safari,Opera,Chrome都支持.

# nstead of using &apos; (apostrophe) in your XHTML markup, use: &#39;
# Instead of using &quot; (quotes) in your XHTML markup, use: &#34;
# Instead of using &gt; (greater than) in your XHTML markup, use: &#62;
# Instead of using &lt; (less than) in your XHTML markup, use: &#60;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值