让 Firefox (火狐浏览器) 支持 insertAdjacentHTML 方法,使火狐支持 insertAdjacentHTML 方法,document.body.insertAdjacentHTML。
insertAdjacentHTML 和 insertAdjacentText 是IE下特有的JS,功能非常好用。
可惜 Firefox 没有这两东东,不过,加上下面的这段的,Firefox下也可以支持这两个方法了。
在你的JS开头加入:
if(typeof HTMLElement!="undefined" && !HTMLElement.prototype.insertAdjacentElement)
{
HTMLElement.prototype.insertAdjacentElement = function(where,parsedNode)
{
switch (where)
{
case 'beforeBegin':
this.parentNode.insertBefore(parsedNode,this)
break;
case 'afterBegin':
this.insertBefore(parsedNode,this.firstChild);
break;
case 'beforeEnd':
this.appendChild(parsedNode);
break;
case 'afterEnd':
if (this.nextSibling) this.parentNode.insertBefore(parsedNode,this.nextSibling);
else this.parentNode.appendChild(parsedNode);
break;
}
}
HTMLElement.prototype.insertAdjacentHTML = function (where,htmlStr)
{
var r = this.ownerDocument.createRange();
r.setStartBefore(this);
var parsedHTML = r.createContextualFragment(htmlStr);
this.insertAdjacentElement(where,parsedHTML)
}
HTMLElement.prototype.insertAdjacentText = function (where,txtStr)
{
var parsedText = document.createTextNode(txtStr)
this.insertAdjacentElement(where,parsedText)
}
} |
文章作者
Nuclear'Atk
上次更新
2011-09-22
许可协议
Nuclear'Atk(核攻击)网络安全实验室版权所有,转载请注明出处。