动态运行HTML/Javascript
Running HTML/Javascript Dynamically
我在一个网页上有一个控件,它在存款时运行回调函数。
在后端,用户可以添加脚本、图像、iframe等,我的程序创建了一个与控件存款回调同名的javascript函数,该函数运行用户在后端输入的代码片段(脚本、iframe、html等)。
该函数应该运行客户端输入CMS的所有HTML/Javascript片段。我事先不知道用户会输入什么,可能是脚本、图像或其他什么。
我在运行HTML/Javascript的片段时遇到问题。
1) 我不能创建一个脚本元素并将其添加到DOM中,因为它可能是一个图像或其他东西。
2) document.write有效,但它会擦除页面。
3) 我不能使用innerHTML,除了我动态添加的脚本之外,一切都正常。
4) 我不能使用textNode,因为当我将脚本添加到DOM时,它不会运行脚本。
每次我动态添加它时,我都会将实际的代码打印到字符串中,而不是运行代码。
有人能帮忙吗?
谢谢。
p.s.
这里有一个HTML的例子,如果我能在trackingCode可能是图像或脚本的地方使用它,那么这就是我的答案:
<head>
<script type='text/javascript'>
function test(pixelData){
var body= document.getElementsByTagName('body')[0];
var trackingCode = '<script type=''text/javascript''>alert(''[hi]'');</script>';
var div = document.createElement('div')
trackingCode = trackingCode.replace(/>/g,'>').replace(/</g,'<');
div.innerText = trackingCode;
document.documentElement.firstChild.appendChild(div);
body.appendChild(div);
}
</script>
</head>
<body>
<script type="text/javascript">
test();
</script>
<div id='whatever'>
</div>
</body>
不确定innerHTML有什么问题,您看到您键入的脚本显示为文本还是被忽略了?
请先尝试使用code=escape(code),然后再将其粘贴到元素中。
相关文章:
- Javascript html每点击一次就会更改url
- 通过javascript/html访问twitter共享iframe
- 使用鼠标悬停JavaScript/HTML显示文本
- JavaScript-HTML表单到JSON(空值)和格式
- 使用javascript html实时预览文本区域输入
- 如何每秒从一个变量中提取一定次数的javascript/html
- 使用变量值作为'名称标识符'javascript/html
- JavaScript HTML Onclick
- 非侵入性Javascript HTML注入
- AppendChild Form / Table [Javascript/Html/PHP]
- 按钮don't使用onClick-Javascript HTML重定向
- 在库(javascript/HTML)中将“name”替换为“id”
- 如何确定使用 javascript/html 单击了哪个对象/图像
- 新的javascript HTML元素不遵循css规则
- JavaScript/HTML 错误的解决方案
- 从图像URL javascript html保存图像文件
- javascript html使用webstorage保存表单
- Javascript+HTML中的日期选择器准备好了吗?(需要:DD、MM、YY的单独字段加上日历选择器)
- 谷歌地图/融合表Javascript HTML赢得't显示/可视化所有多边形数据(通过色标)
- JavaScript/HTML命令行小部件