我需要知道是否有可能获得当前的执行节点?
例:
..html
<script id="x">
console.log(document.currentNode.id); // << this must return "x"
</script>
..html
Run Code Online (Sandbox Code Playgroud)
谢谢!
And*_*rew 22
我不知道100%肯定,但返回的脚本标签集合document.getElementsByTagName('script')不应包含当前正在执行的脚本标签<script>.换句话说,我认为这应该有效:
var arrScripts = document.getElementsByTagName('script');
var strScriptTagId = arrScripts[arrScripts.length - 1].id;
Run Code Online (Sandbox Code Playgroud)
这仅适用于在页面加载时执行的脚本.如果这在延迟脚本中执行或作为页面加载事件的一部分执行,则它可能始终报告<script>完全呈现页面中的最后一个.请注意,id标记不是有效属性<script>,因此您的网页可能无法验证.如果您有任何编写脚本标记的外部脚本(例如,第三方广告),我认为代码将是不可预测的.几年前我玩过这个想法,结果并不令人满意.
min*_*des 18
Gecko(Firefox)支持文档对象上指向当前脚本节点的非标准属性.在进行上述回答之前,您可能需要检查一下.
https://developer.mozilla.org/en-US/docs/DOM/document.currentScript
<script id="x">
console.log(document.currentScript.id); // << this must return "x"
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18314 次 |
| 最近记录: |