如何获得对称为功能的DOM脚本标记的引用?
例如:
<script type="text/javascript">
var globalfunc = function(){
//obtain a reference to the script block that globalfunc() was called from
}
</script>
<script type="text/javascript">
globalfunc();
</script>
我知道我可以为脚本元素分配一个id或类,然后将其传递给我的函数以进行DOM查找,但是我认为如果没有这种方法,这样做会更加灵活和优雅。主要原因是,我可能必须在我们的网站上做一些工作才能使第三方广告整齐划一,而且我们无法控制他们用来加载广告的脚本。
最佳答案
实际上,如果您想要有效的标记,则不能将类或id分配给script
元素。也就是说,我已经使用了该方法,是的,它确实有效。
或者,使用并让记录显示我永远不会这样做,您可以执行以下操作:
var scripts = document.getElementsByTagName("script");
for (var i=0, l=scripts.length; i<l; ++i ) {
if ( scripts[i].innerHTML.indexOf("globalfunc();") != -1 ) {
// Found a script tag in which `globalfunc();` is executed
}
}