代码很简单,如下:
var pro = window.HTMLElement.prototype;
pro.__defineGetter__("outerHTML", function(){
var str = "<" + this.tagName;
var a = this.attributes;
for(var i = 0, len = a.length; i < len; i++){
if(a[i].specified){
str += " " + a[i].name + '="' + a[i].value + '"';
}
}
if(!this.canHaveChildren){
return str + " />";
}
return str + ">" + this.innerHTML + "</" + this.tagName + ">";
});
pro.__defineSetter__("outerHTML", function(s){
var r = this.ownerDocument.createRange();
r.setStartBefore(this);
var df = r.createContextualFragment(s);
this.parentNode.replaceChild(df, this);
return s;
});
pro.__defineGetter__("canHaveChildren", function(){
return !/^(area|base|basefont|col|frame|hr|img|br|input|isindex|link|meta|param)$/.test(this.tagName.toLowerCase());
});
分享到:
相关推荐
标题与描述均聚焦于“JavaScript在IE和Firefox(火狐)的不兼容问题解决”,这表明文章旨在探讨并提供解决方案来处理在不同浏览器环境下的JavaScript兼容性问题,尤其是在Internet Explorer(IE)和Mozilla Firefox...
本文主要讨论的是如何解决Firefox浏览器不支持`outerHTML`属性的问题。`outerHTML`是Internet Explorer(IE)特有的一个属性,它允许开发者获取或设置一个元素及其所有子元素的HTML表示形式。然而,Firefox和其他...
为了解决Firefox对`outerHTML`的兼容问题,开发者通常需要采取一些变通策略。 一种解决方案是通过扩展`HTMLElement`的原型来实现`outerHTML`功能。这种方法涉及修改JavaScript的内置类型,添加getter和setter方法来...
以上就是解决Firefox和IE之间JavaScript兼容性问题的一些关键点。在实际开发中,还可以使用条件注释、库如jQuery或现代的Babel等工具来进一步简化兼容性工作,提高代码的可移植性和维护性。理解并掌握这些技巧,将有...
1.兼容firefox的 outerHTML,FF中没有outerHtml的方法。 代码如下: if (window.HTMLElement) { HTMLElement.prototype.__defineSetter__(“outerHTML”,function(sHTML) { var r=this.ownerDocument.createRange(); ...
以下是一些关键的知识点,可以帮助开发者解决在IE和Firefox之间遇到的兼容性问题: 一、正则表达式问题 在正则表达式中,全局标志"g"用于匹配字符串中的所有实例。在IE中,"$2"能够正确捕获到最近一次匹配的结果,...
Firefox不支持`outerHTML`属性,但可以通过创建新的元素,克隆当前元素并设置其innerHTML,再将新元素的outerHTML返回,从而实现类似的功能。 这些是JavaScript在实际开发中经常会遇到的问题,理解并掌握它们对于...
7. **FF下的outerHTML**:Firefox不支持`outerHTML`属性,但可以通过创建新的元素,克隆原始元素,并设置新元素的innerHTML为原始元素的outerHTML来实现类似功能。 以上知识点涵盖了JavaScript的基础语法、字符串...
7. `outerHTML`属性:在Firefox中不支持`outerHTML`,但可以通过创建一个新元素,克隆目标元素并设置新元素的`innerHTML`,然后获取`outerHTML`来实现类似功能。 以上知识点涵盖了字符串操作、正则表达式、对象与...
- **innerText, textContent, outerHTML**:IE支持`innerText`和`outerHTML`,Firefox支持`textContent`。 - **用id代替HTML元素**:IE允许,Firefox不允许。 5. **解决JavaScript多人开发中函数重名问题**: - ...
7. Firefox不支持`outerHTML`属性,但可以通过创建临时元素并复制innerHTML和outerHTML来实现类似功能。 了解这些知识点对于Web前端开发者至关重要,它们涵盖了基础语法、正则表达式、字符串操作、浏览器兼容性、...
在本例中,问题表现为Flexigrid加载数据后,表格内容无法显示,而其他现代浏览器如Chrome、Firefox等则没有这个问题。 问题的根源在于IE10对DOM操作的处理方式与现代浏览器存在差异。原代码中,开发者尝试通过`$(t)...
4. Internet Explorer (IE) 与 Firefox (FF) 的脚本兼容性问题: - **window.event**: IE提供了`window.event`全局变量来访问当前事件,而FF通过将事件对象作为参数传递给事件处理函数。 - **事件源获取**:IE使用...
这种做法的优点在于,它不仅兼容FireFox浏览器,而且支持所有主流浏览器,是一种相对稳妥的清空File控件值的方法。 在文章中,由于OCR扫描识别技术的限制,可能会出现一些字词识别错误或漏识别,开发者在阅读时需要...
然而,这种方法存在一些限制和风险,例如,ActiveXObject只在IE浏览器中有效,不适用于其他浏览器(如Chrome、Firefox等)。此外,由于安全原因,现代浏览器可能不允许非信任的脚本执行这样的操作,因此在实际应用中...
这表明作者在开发过程中遇到了图片自动缩放的兼容性问题,特别是在Firefox浏览器中图片变形的问题,并提出了自定义代码以解决此问题。兼容性是前端开发中非常重要的一个方面,尤其是在不同浏览器对JavaScript代码的...
1. **IE、Firefox支持JavaScript往剪贴板写入内容** 2. **Opera、Safari、Chrome使用ActionScript往剪贴板写入内容** - 不同浏览器对于剪贴板操作的支持程度不同,需要采取不同的策略。 #### 五、事件 1. **...