如何查看head部分的内容
Posted
技术标签:
【中文标题】如何查看head部分的内容【英文标题】:How to check the contents of the head section 【发布时间】:2011-05-16 01:59:10 【问题描述】:我编写了一个代理服务器,它在每个页面的 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>
【问题讨论】:
【参考方案1】:var comment = '<!-- page is proxified -->',
commentPresent = document.getElementsByTagName('head')[0].innerHTML.indexOf(comment) !== -1 ? true: false;
if (commentPresent)
// code
【讨论】:
【参考方案2】:jquery:
var headContents = $('head').html();
Javascript:
var headContents = document.getElementsByTagName('head')[0].innerHTML;
【讨论】:
感谢您的快速答复!document.getElementsByTagName
返回一个 NodeList
,它没有 innerHTML
属性。你的意思是document.getElementsByTagName('head')[0].innerHTML
?【参考方案3】:
使用 Javascript 读取评论节点是可能的,但有点繁琐。您必须找到 head 元素,然后遍历其子节点以找到一个注释(node.nodeType == 8)或正如其他人指出的那样,获取整个 head.innerHTML 并对其进行正则表达式。
但是,通过添加一些其他元素来实现这一点可能会更容易一些,例如元元素(它也在头部),然后您可以使用 getElementsByTagName() 和/或 jQuery 更轻松地访问它等。
【讨论】:
【参考方案4】:我不是 100% 确定。但是 cmets 不是写在 DOM 中的。所以应该是不可能通过xpath或者其他的方式来获取的。
您可以通过
获取html标签的全部内容document.getElementsByTagName('head').innerHTML;
并应用正则表达式。
另一种可能是添加元标记。这可以用js更容易一点。
【讨论】:
可能需要 document.getElementsByTagName('head')[0].innerHTML;以上是关于如何查看head部分的内容的主要内容,如果未能解决你的问题,请参考以下文章