如何查看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部分的内容的主要内容,如果未能解决你的问题,请参考以下文章

一天一个linux基础命令之查看文件开头部分内容head

如何查看 SeriesDataFrame 对象的数据

Linux 查看文件的内容 - headtailcatmoreless

当用户查看页面的特定部分时如何更改导航栏图标的颜色

linux操作指令 第三部分

[转]linux查看日志文件内容命令