让插入到 innerHTML 中的 script 跑起来的实现代码(3)


set_innerHTML('要插入innerhtml的ID名称', '要插入的代码');


方案2:来自ajaxwing的innerHTML简单版
不过这个实现有一点问题就是脚本中的 document.write 和 document.writeln 缩写的内容位置是不对的。

调用方法:
JavaScript代码
setInnerHTML('DOM 树中的节点', '要插入的代码');
JavaScript代码

复制代码 代码如下:


/*
* 描述:跨浏览器的设置 innerHTML 方法
* 允许插入的 HTML 代码中包含 script 和 style
* 作者:kenxu <ken@ajaxwing.com>
* 日期:2006-03-23
* 参数:
* el: 合法的 DOM 树中的节点
* htmlCode: 合法的 HTML 代码
* 经测试的浏览器:ie5+, firefox1.5+, opera8.5+
*/
var setInnerHTML = function (el, htmlCode) {
var ua = navigator.userAgent.toLowerCase();
if (ua.indexOf('msie') >= 0 && ua.indexOf('opera') < 0) {
htmlCode = '<div>for IE</div>' + htmlCode;
htmlCode = htmlCode.replace(/<script([^>]*)>/gi,
'<script$1 defer>');
el.innerHTML = htmlCode;
el.removeChild(el.firstChild);
} else {
var el_next = el.nextSibling;
var el_parent = el.parentNode;
el_parent.removeChild(el);
el.innerHTML = htmlCode;
if (el_next) {
el_parent.insertBefore(el, el_next)
} else {
el_parent.appendChild(el);
}
}
}


基于原作者的不让转载,导致所有的测试代码都没有了,本来应该留一份的。唉
不过脚本之家特为大家制作了一个例子,以后大家可以全站的使用js控制广告,减少连接数。
https://www.jb51.net/article/20068.htm

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjjxgd.html