`

IE6下的JavaScript

阅读更多

Web开发的老几都知道IE6CSS兼容问题是美工最头痛的事,此处暂时不做研究,待以后在做相关总结。通常CSS兼容IE的有效手段就是使用条件注释。

 

这里主要讲述JavaScript兼容性问题,关于浏览器兼容性问题解决之后大家会感觉很简单,但是在解决的这个过程中是十分痛苦的,这里先记录下部分,以后遇到再追加吧。

 

1.iframe[name]

 

在IE6中动态创建iframe时,其name属性务必写在标签中,否则不生效。

 

var iframe = $("<iframe name='my_iframe' frameborder='0' style='width:100%; height:100%; border:0; display:block'/>")[0];
iframe.src = settings.href;

 只有这样写IE6才能够识别form/a的target='my_iframe'

 

如果你是按下面的写法创建的iframe,那么就悲剧了。

 

 

var iframe=$("<iframe>");
iframe.name='my_frame';
 

 

2.checkbox/radio[checked]

在IE6动态创建checkbox/radio时,其checked属性务必写在标签中,否则不生效

 

var checked="";
if (elem.val() == "1") {
	checked='checked="checked"';//just because fuck ie6				
}				
var targetElem = $('<label><input type="checkbox" name="param_value" '+checked+' value="1" />自动数据同步</label>');

 

 如果写法如下,那么在IE6上是悲剧的

 

var targetElem = $('<label><input type="checkbox" name="param_value" value="1" />自动数据同步</label>');
targetElem.find("input").attr('checked','checked');
 

 

3.form[class]

 

在IE6/7中,如果form中有一个域的名字叫做className那么悲剧了,form.classXxx将无法正确执行。

 

原代码示例:

 

 

<form id="dataEditor1" action="Controller"
service="ConfigService.updateAdapter" nextstep="close" class="DataEditor">

	<div>
		<label>
			<span>账单类型:</span>
			<input type="text" name="billType" value="${ param.bill_type}"
			validates="{required:true,messages:{required:'此参数不允许为空!'}}" />
	</label>
</div>

<div>
	<label>
		<span>适配器名称:</span>
		<input type="text" name="name" value="${ param.bill_name}"
			validates="{required:true,messages:{required:'此参数不允许为空!'}}" />
	</label>
</div>

<div>
	<label>
		<span>适配器实现类:</span>
		<input type="text" name="className"
			value="${ param.adapter_class}"
			validates="{required:true,messages:{required:'此参数不允许为空!'}}" />
	</label>
</div>
<input type="hidden" name="action_type"
	value="${ param.action_type}" />
	<input type="submit" name="submit" value="提交" class="spq_input" disabled="disabled" />
	<input type="reset" name="reset" value="重置" />
</form>

 注意“适配器实现类”的input,它的name="className"。

 

使用js取值

 

var form=$("form.DataEditor");
alert("forms:"+form.length);//结果为0
alert($("form")[0].className);//结果为[Object object]

 这个悲剧是因为IE中支持按照表单名和表单域名进行索引,例如dataEditor1.billType。幸好在IE8+已经修复此问题了。

 

 

 

 

 

0
0
分享到:
评论

相关推荐

    IE中调试javascript

    然而,在不同的浏览器环境下调试JavaScript代码却是一项挑战,尤其是在早期版本的Internet Explorer(以下简称IE)中。由于IE本身缺乏像Firefox那样丰富的开发者工具和插件支持,这使得开发者往往需要采用一些更为...

    IE6、IE7、IE8对css和js支持方面差异的研究

    在探讨IE6、IE7、IE8对CSS和JavaScript支持的差异时,我们可以发现一系列显著的兼容性问题和解析规则的变化。以下是对这些差异的详细分析: 1. **JavaScript性能和垃圾收集**: - 在IE6中,JScript引擎在处理大量...

    修复IE的JavaScript的批处理

    描述中提到的“发现IE下,点击JavaScript链接不响应”,这是一个常见的问题,可能是由于浏览器设置、安全软件限制、JavaScript引擎故障或恶意软件干扰等原因导致的。为了解决这个问题,开发者或技术爱好者可能会编写...

    ie不执行javascript修复

    ie不执行javascript修复ie不执行javascript修复ie不执行javascript修复 当IE不能正常运行时,打开该工具就可以了,自动修复

    ie启用javascript

    IE启用javascript IE启用javascript IE启用javascript IE启用javascript IE启用javascript

    IE下的JavaScript调试工具

    js程序的调试是相当郁闷的,很多错误是无法控制的,在没有什么好的调试工具那是更加麻烦的,现在的情况比以前稍好,在Firefox下还有firebug,这的确是一个不错的js调试工具,但在IE下使用就很麻烦,而且效果很不好,...

    jquery 判断 IE6 浏览器 javascript

    jquery 判断 IE6 浏览器

    IE下的JAVASCRIPT调试

    本文将深入探讨如何在Internet Explorer(IE)浏览器下进行JavaScript的调试,这对于那些仍需兼容IE的项目至关重要。 标题"IE下的JAVASCRIPT调试"直指主题,意味着我们将讨论的是在Internet Explorer环境中如何查找...

    IE的JavaScript调试工具

    在"脚本"选项卡下,你可以看到页面加载的所有JavaScript文件列表。点击任何文件,代码将在源代码视图中显示,使你可以逐行阅读和分析代码。这里的每一行都可以设置断点,断点是一种暂停执行的标记,当你运行到这一行...

    win8的 IE6

    IE6尤其著名于其独特的渲染引擎(Trident),这使得开发者需要特别处理以确保网站在IE6下正常运行,增加了开发的复杂性。 **知识点2:Internet Explorer 6的特点** - **安全漏洞**:IE6由于发布时间久远,存在许多...

    ie6sp1forwindows2000

    IE6是微软在2001年推出的网络浏览器,它是继IE5之后的下一代产品,当时在Windows XP和Windows 2000系统中广泛使用。IE6引入了一些新功能,例如P3P(Platform for Privacy Preferences Project)政策,用于处理网站...

    IE6下PNG透明代码

    5. **PNG透明修复脚本**:压缩包内的“IE6 PNG处理”脚本可能是一个JavaScript库,如DD_belatedPNG,它通过检测浏览器版本,对IE6下的PNG图片进行特殊处理,使其能够正确显示透明效果。这类脚本通常会分析图片,创建...

    IE WebDeveloper(ie下的Javascript调试工具) v2.4.1.124 附注册码

    IE下面的javascript调试插件,IE WebDeveloper功能超级强大。 功能可以和火狐下的Firebug相媲美,甚至有些功能还强于Firebug IE WebDeveloper(ie下的Javascript调试工具) v2.4.1.124 附注册码

    ieTest ie6 ie7 ie8 ie9 ie5.5

    6. **使用场景**:IETester主要适用于Web开发者、设计师以及质量保证工程师,他们需要确保网站或应用在多种IE环境下表现良好,特别是那些需要向后兼容的项目。 7. **替代工具**:除了IETester,还有其他类似的工具...

    好用的 ie 下 javascript 调试工具

    标题提到的"好用的ie下javascript调试工具"显然是针对这种情况提供的一种解决方案。 在IE中,传统的JavaScript调试方法是使用微软的开发者工具(Developer Tools),它可以通过F12快捷键或右键点击页面选择“查看源...

    火狐和IE支持javaScript脚本的一些区别

    标题与描述均提到了“火狐和IE支持javaScript脚本的一些区别”,这明确指出了文章将探讨在Mozilla Firefox和Internet Explorer(IE)浏览器中JavaScript脚本的不同支持情况。以下是对给定文件中提及的各个知识点的...

    IE8的JavaScript点击事件(onclick)不兼容的解决方法

    在标准模式下,IE8及以下版本不支持通过`setAttribute`直接为元素添加事件监听器,这与现代浏览器如Chrome和Firefox存在差异。为了确保兼容性,通常推荐使用`addEventListener`方法为元素添加事件监听器,但由于IE8...

    IE中javascript调试工具

    IE(Internet Explorer)浏览器曾经提供了一套内置的JavaScript调试工具,这对于理解JavaScript的运行机制和优化代码非常有用。本文将详细介绍IE中的JavaScript调试工具及其使用方法。 ### IE JavaScript调试工具 ...

    获取IE信息的JavaScript脚本

    总的来说,这个"获取IE信息的JavaScript脚本"是一个实用的教程,可以帮助开发者了解如何使用JavaScript来检测IE浏览器的详细信息,但同时也提醒我们在当前环境下,需要考虑更广泛的浏览器兼容策略。

    IE6升级到IE9兼容性问题和操作手册

    总之,从IE6升级到IE9的过程,开发者需要关注HTML的规范性、CSS的兼容性和JavaScript/DOM的适应性,以确保网页在新版本的IE中正常运行。同时,对于可能出现的视觉差异和功能缺失,需要进行有针对性的调整和优化。

Global site tag (gtag.js) - Google Analytics