(转载)向页面某处动态添加js的方法
1、不能用innerHTML向div中写入"<script></script>"。
解决办法:
(1)在添加一个其他的html标记:obj.innerHTML="<br><script>"+scriptStr+"</script>";
(2)使用如下脚本:
var str="alert('xx');var a=100;document.write(a);document.write('aaaa')";
var oScript=document.createElement("script");
oScript.text=str;
obj.appendChild(oScript);
2、无法执行脚本中的document.write脚本,或者说执行时把页面内容清空了。
原因:document.write只有在加载时执行才不会清空页面内容,其他时间执行则会清空页面内容。
解决办法:既然document.write的目的就是在指定的div中写入内容,把脚本中的document.write替换为innerHTML不久ok了吗?
经过多次测试终于ok了。
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
<body>
<div id="test">
</div>
<input type="button" onclick="test()" />
<script type="text/javascript">
function addScript(id,str){
window.execScript((str+";").replace(/<\/?script[^\)]*>/ig,"").replace(/document.write\((.*?)\)[\s;]/ig,function(){
return ("document.getElementById('"+id+"').innerText+="+arguments[1]+";");
}));
}
window.onload=function(){
var id="test";
var str="alert('xx');\nvar a=100;document.write('(xxx)');document.write('aaaa')\n";
addScript(id,str)
};
</script>
</body>
来源:http://www.cnitblog.com/yemoo/archive/2007/07/19/30237.html
本文来自博客园,作者:CarlZeng,转载请注明原文链接:https://www.cnblogs.com/backuper/archive/2009/12/08/1619458.html
需求沟通链接 扫客服加群:

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
2008-12-08 想让一个网站看起来疯狂吗?试试这段js代码 [好玩]
2008-12-08 appendFormDataToURL完成导出,netsuite导出csv
2008-12-08 关于netsuite创建组合按钮的方法,合并按钮,netsuite API
2008-12-08 JS导出txt文本文件,Netsuite方案