好的,这就是我遇到的问题。我发现了数百个类似的线程,但没有一个能解决问题。
我得到了 < div id="ad_space_id">< /div>
元素。
我想要做的就是向该 div 添加一个脚本标签。我所做的是:
src = https://ad.doubleclick.net/ddm/adj/N378.150781.4704472308521/B5632202.128522416;sz=300x250;ord=[timestamp];dc_lat=;dc_rdid=;tag_for_child_directed_treatment=?
var adScript = document.createElement('script');
adScript.type = 'text/javascript';
adScript.setAttribute('src', src);
document.getElementById(adDivId).appendChild(adScript);
这一切都应该动态完成,即在页面加载之后。我从 XMLHttpRequest 获取的 src。
当我查看 html 输出时,一切看起来都很好:
<div id="ad_space_1"><script type="text/javascript"
src="https://ad.doubleclick.net/ddm/adj/N378.150781.4704472308521/B5632202.128522416;sz=300x250;ord= [timestamp];dc_lat=;dc_rdid=;tag_for_child_directed_treatment=?"></script>
</div>)
我的问题是,代码无法执行。 (如果我将该代码粘贴到 html 文件中并将其加载到浏览器中,它就可以正常工作)。
有人可以帮忙吗?!?
最佳答案
由于脚本标签位于元素内部,因此它不会执行
您需要了解有关 DOM(文档对象模型)如何加载以及 javascript 如何加载的更多信息
当您尝试执行 javascript 时,您的 Div 尚未准备好。
您应该观看本教程中的视频 6 和 7,它解释了很多 JavaScript 加载以及放置脚本代码的重要性:
https://www.youtube.com/watch?v=GeOSQcmLAtw&index=6&list=PL6n9fhu94yhUA99nOsJkKXBqokT3MBK0b
为了确保 div 加载到 DOM 中,您需要将其放在 Html 的前面(上方),脚本函数应放置在结束 body 标记之前,以便 DOM 准备好与您的脚本代码进行交互它
<div id="ad_space_id"></div>
<script type="text/javascript">
// function call to do something with the div
</script>
关于javascript - 将 script 标签添加到 div 元素并加载代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38011143/