发现有几个人都提过这个问题,官方居然一直没重视。
具体症状是 如果后台设置: 性能优化》论坛页面缓存设置 》首页缓存打开(设置为900)。
那么在 游客(未登录)情况下 首页 body 和HTML 标签没有结束
以下链接有人遇到同样问题,看来是Discuz官方的BUG。
http://www.discuz.net/而且2012年就有人提出来,官方还当时说会解决 http://www.discuz.net/。
看样子一直没打算解决。
而且更严重的其实是模板里面 之后的代码都没有了。
经检查可能是 forum_index.php 里面的 get_index_page_guest_cache() 这个有问题。
目前用了比较蠢 的办法,就是把放到模板结尾处标签之前,然后在get_index_page_guest_cache里面把结尾补上,如下:不过 我发现 百度的首页body也没有结束,难道这个做法是潮流?
知乎也有人讨论这个:http://www.zhihu.com/question/19617126
--------------------------------
继续研究发现:
HTML规范(即doctype声明为html4.01 strict或html5)中,有部分标签是可以不用闭合的:
[tr]
[td]
https://developers.google.com/speed/articles/optimizing-html?hl=zh-CN
谷歌官方的文档也说不闭合是允许的,而且据说可以优化网站速度,不知道是不是真的。
--------------------------------------
discuz官方到底是没发现这个BUG还是有意为之?如果有意为之,为何之后的代码都没了。
|