FireBug和Chrome呈现两个Body标记

时间:2015-04-29 作者:Toby

我有一个卷曲的问题,我已经研究了一段时间了。起初,似乎get\\u body\\u class()函数被破坏了,但在我将其从模板中删除后,问题仍然存在。

<html class="js firefox">
<head>
<body>
 <body>
  <div class="top_div">
  <div id="page" class="hfeed site logo">
  <div id="page" class="hfeed site">
  <div class="footer_wrapper">
</body>
然而,当我通过页面源查看相同的内容时,我只看到一个body标记。

我使用的是最新版本的Wordpress,所有插件都是最新的。

我试图解决问题的事情:

禁用所有插件,更改为默认主题,替换wp admin文件夹,强制在所有PHP文件上使用UTF-8而不使用BOM编码,请注意,如果我完全从标题中删除body标记。php文件我在Firebug中只看到一个body标记,在page source中我看到以下内容:

pagesource screenshot

2 个回复
最合适的回答,由SO网友:Toby 整理而成

我通过注释掉第一个body标记并在下面放置第二个body标记来解决此问题,如下所示:

<!--

<body>

-->
<body <?php body_class( $class ); ?>>
现在,站点工作正常。然而,这个奇怪的角色仍然出现在第一个body标签中。

希望这对别人有帮助。

SO网友:UntitledGraphic

我相信“奇怪”字符是存在于标准字符集之外的字符。有些浏览器和文本编辑器会将其显示为一个小正方形或矩形,有些可能会显示一个小点,有些可能根本不会显示它。

它本可以通过复制和粘贴的方式进入,但这只是一个猜测。

如果注释标记并在中添加新标记可以解决问题,那么为什么不将其全部删除?

至于为什么这会导致两个标记,我只能猜测,浏览器试图变得聪明,并在看到带有的页面时更正代码,而不是假设它应该添加一个(每个网页都需要一个)。您最终会看到两个s,因为浏览器不知道如何渲染额外的随机字符。

你可以通过在一个更老、更不智能的浏览器(我想是IE8或更低版本)中尝试这个网站,看看会发生什么来检验这个理论。

结束

相关推荐

Apply_Filters(‘the_content’)-是否使其忽略快捷代码?

我正在使用apply_filters(\'the_content) 因此,我可以在后端的wp编辑器中看到格式正确的内容。但是,这也会呈现内容中的短代码。我希望它忽略短代码,对其余内容进行过滤,基本上与发帖时一样。如果您在后端查看帖子内容,您将看到短代码,但如果您在网站的页面内查看它,您将看到呈现的短代码(其结果)。这可能吗?