页面源和检查元素中的DOM之间的区别i

时间:2017-03-04 14:42:34

标签: html meta-tags octobercms

我想在其中一个网页上添加元标记。但是,我正在使用CMS(ocotberCMS),它只允许我访问页面的正文。我试图将元标记添加到标记中,如下所示:

<meta name="robots" content="noindex, nofollow, noarchive">
{% partial "temp-partial" %}

页面源和检查元素的结果不同:

页面来源:

<meta name="robots" content="noindex, nofollow, noarchive">
<div>
    .......// the body of the page generated by {% partial "temp-partial" %}
</div>

检查元素:

<html>
   #shadow-root
<head>
<meta name="robots" content="noindex, nofollow, noarchive">
</head>
<body>
<div>
    .......// the body of the page generated by {% partial "temp-partial" %}
</div>
</body>
</html>

我已经读过根据HTML4 ++文档有必要将元标记添加到标题中。我想知道这是否意味着它可以在上面的情况下工作,或者它赢了?

4 个答案:

答案 0 :(得分:1)

您可以在模板布局中编辑头部。 转到CMS -> Layout -> default.htm并在那里添加元标记。

实际布局文件名可能有所不同,但如果你看那里的html,你应该看到哪一个是主布局文件。

答案 1 :(得分:1)

OctoberCMS有一个“占位符”功能,非常适合您尝试的操作:

https://octobercms.com/docs/markup/tag-placeholder

您可以在HTML布局中使用它,如下所示:

<html>
     <head>
         <meta name="robots" content="noindex, nofollow, noarchive">
         {% placeholder meta %}
     </head>

     <body>
         {% page %}
     </body>
</html>

然后,在任何页面中稍后:

{% put meta %}
    <meta name="robots" content="noindex, nofollow, noarchive">
{% endput %}

{% put %}标记之间的任何内容都将放在编译时{% placeholder %}在布局中的位置。

答案 2 :(得分:1)

您在检查器DOM树中的<meta name="robots" content="noindex, nofollow, noarchive">部分中看到<head>的原因,因为它位于源代码的<body>部分并查看页面源是因为检查器DOM树是您的浏览器已经解析过的版本。

由于浏览器愿意接受所谓的“标签汤”(不正确的语法和HTML布局),并且只是最好地猜测它应该如何工作;您的浏览器将向您显示的检查器DOM树已经是浏览器对代码应该是什么的最佳猜测;无论该代码的实际有效性如何。

因此,实质上,当您查看源时,您在主体中看到元标记的原因是因为它实际上就是这样。您在检查器的head部分中看到它的原因是因为浏览器已经猜到head部分是元标记的正确位置。

要将其实际添加到您的头部区域,应该让机器人实际看到它,您需要编辑CMS布局。如果您无权访问CMS菜单或布局子菜单,那么您的用户帐户没有权限,您必须与建立您网站的任何人取得联系或在IRC中寻求进一步的帮助(freenode.net - #october)或Slack。

答案 3 :(得分:0)

页面来源是您在创建网站时看到的内容。

Inspect元素源包括生成的数据,例如其他样式属性,数据库导出等。

至于你的问题,尝试使用Jquery并在头部附加(http://api.jquery.com/append/)元标记。