我写了一个代理服务器,它为每个页面的HEAD部分添加了一个注释标记。 现在我想在JavaScript文件中确定是否存在注释。
我如何做到这一点?
以下是一个示例页面:
<html>
<head><!-- page is proxified -->
<title>Hello proxified world!</title>
</head>
<body>
<script type="text/javascript">
// What to do here?
</script>
</body>
</html>
谢谢!
伊凡
答案 0 :(得分:2)
使用Javascript阅读评论节点是可能的,但有点繁琐。你必须找到head元素,然后循环遍历它的子节点,找到一个是注释(node.nodeType == 8)或者其他人指出的,得到整个head.innerHTML和regexp它。
然而,通过添加一些其他元素(例如元素元素(也可以在头部)中实现这一点可能会更容易一些,然后您可以使用getElementsByTagName()和/或jQuery更轻松地访问它等等。
答案 1 :(得分:1)
Jquery的:
var headContents = $('head').html();
使用Javascript:
var headContents = document.getElementsByTagName('head')[0].innerHTML;
答案 2 :(得分:1)
var comment = '<!-- page is proxified -->',
commentPresent = document.getElementsByTagName('head')[0].innerHTML.indexOf(comment) !== -1 ? true: false;
if (commentPresent) {
// code
}
答案 3 :(得分:0)
我不是百分百肯定。但评论不是写在DOM中。因此,通过xpath或其他方式获取它应该是不可能的。
您可以通过
获取html标记的全部内容document.getElementsByTagName('head').innerHTML;
并应用正则表达式。
另一种可能性是添加元标记。这可以通过js更容易检索。