1

我的页面底部有一个 JavaScript 语句,我只想在某个 HTML 注释可用时触发它

<!-- mytriggercomment -->

在上面的示例中,如果在mytriggercomment当前页面中检测到 ,则只有在此时才触发 JavaScript 语句。这样做的首选方法是什么?

4

1 回答 1

1

可能不适用于较旧的浏览器,但这种方式是一种合乎逻辑的 DOM 方法:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
<script>
window.onload = function () {
   var treeWalker = document.createTreeWalker(
      document,
      NodeFilter.SHOW_COMMENT,
      {acceptNode: function(node) {
          if (node.nodeValue.trim() === 'mytriggercomment') {
              return NodeFilter.FILTER_ACCEPT;
          }
      }}
    );
    var nodeList = [];

    while(treeWalker.nextNode()) nodeList.push(treeWalker.currentNode);

    alert(nodeList)
};
</script></head>
<body>
</body>
</html>
<!-- mytriggercomment -->

如果你知道它总是在底部,你可以像这样定位它:

window.onload = function () {

    alert(document.documentElement.nextSibling && 
        document.documentElement.nextSibling.nodeValue.trim() === 'mytriggercomment')

};
于 2013-06-23T13:40:41.377 回答