如何在运行时将 javascript 警报添加到 innerHTML
How do I add a javascript alert to innerHTML at runtime
当发生我监听的特定事件时 - 我想用调用我的谷歌广告代码的javascript填充div'divDynamicAdvert'。
非常感谢"十位"向我展示我需要像这样附加一个脚本节点:
function myEventHandler(evt) //called when event is caught
{
var script = document.createElement('script');
script.textContent = 'alert(1)';
document.getElementById('divDynamicAdvert').appendChild(script);
}
这很好用,但是为了代替警报,我需要插入Google Ads Javascript:
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3286208413631803";
/* Standard MPU */
google_ad_slot = "8630273973";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
我试过:
var script = document.createElement('script');
script.textContent = 'google_ad_client = 'ca-pub-3286208413631803'; google_ad_slot = '8630273973'; google_ad_width = 300; google_ad_height = 250;';
document.getElementById('divDynamicAdvert').appendChild(script);
var script = document.createElement('script src="http://pagead2.googlesyndication.com/pagead/show_ads.js"');
document.getElementById('divDynamicAdvert').appendChild(script);
我也尝试过逃避斜杠,但没有运气... 你们能帮忙吗?
正如@slebetman已经说过的,innerHTML
行不通。如果您尝试通过 DOM 而不是 eval(code)
等来评估脚本 - 请使用 SCRIPT
节点执行此操作:
var script = document.createElement('script');
script.textContent = 'alert(1)';
document.getElementById('divDynamicAdvert').appendChild(script);
// actually it doesnt matter where you append it
编辑:
在任何情况下,创建一个脚本节点,然后使用它进行操作 - 向其添加脚本内容或添加 src 属性(如果您引用外部源)
var script;
// content
script = document.createElement('script')
script.textContent = 'alert(1)'
document.body.appendChild(script);
// google api source
script = document.createElement('script');
script.src = 'ANY_URL';
// -> in this case, same as script.setAttribute('src', 'ANY_URL');
document.body.appendChild(script);
有一些进一步的问题,请随时在评论中提问。
相关文章:
- innerHTML在递增数组中循环时添加重复项
- 添加innerHTML和自动完成未完成的行
- 如何获取链接内容(innerHTML)并将其作为标题添加到其他链接
- 用JavaScript中的+添加到innerHTML意味着什么
- 选中复选框时用 innerHTML 添加的文本,取消选中时不会删除
- 确定元素是否由 JS 添加,还是原始 HTML 文档 *OR* 检测脚本何时通过 InnerHTML 更新节点
- 使用innerHTML想法添加大量html元素的最佳方法是什么
- 如何在运行时将 javascript 警报添加到 innerHTML
- 如何使用 innerHTML 运行添加到页面的脚本
- 我可以在 innerHTML 中添加样式标签吗?
- 添加阴影效果作为innerHTML
- 在javascript中为innerHTML添加一个复选框
- 将react组件添加到contenteditable或innerhtml
- 如何在HTML分区的innerHTML部分中添加按钮
- 使用innerHTML添加php代码
- 为什么我的动画"重放的“;当通过innerHTML添加元素时
- 使用javascript和HTML将下拉组合框添加到innerHTML中
- 如何在每次使用x.innerHTML时添加回车
- JavaScript/jQuery在其他html页面中添加innerHtml
- 对象标签添加innerHTML总是空的onload