- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
大家好。我在 wordpress 网站上使用“amp”生成器,此插件的功能之一是在 </head>
之前添加一个 biolerplate 标签。和一个 <noscript>
带有回退标记。谷歌搜索控制台不断警告我一个特定的错误:“强制性标签‘样板的 noscript 附件’丢失或不正确。”
所以我开始调查。我发现“某物”正在注入(inject) </head><body>
就在 <noscript>
之前开始标签,如果我改变放置 noscript 标签的位置,其他两个也会被移动。
这是呈现的代码:
<style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style>
</head><body><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>
我做了很多测试,似乎 <noscript>
标记是此错误的要点。我还读过一些其他的答案,这些答案说文档不应该是严格的 xhtml 1.1,但事实并非如此,事实上,这些是页面上呈现的第一件事:
<!DOCTYPE html>
<html amp lang="it-IT"><head><meta charset="utf-8"><link rel="dns-prefetch" href="https://cdn.ampproject.org">
我想弄清楚我能做些什么来解决这个存在于许多网站上的错误,这些网站有不同的插件和主题(还有 wordpress 版本)。
更新:我试图手动添加 <noscript>
代码中的标记,每次我将其添加到 <head>
中部分,该部分关闭,<body>
部分被打开,没有任何类(所以它看起来像一个错误)。如果您想查看错误,只需到此处查找代码:
https://www.assistenzamalasanita.com/2015/07/errori-medici-durante-il-parto-come-si-valutano/amp/
更新 2禁用所有插件并切换到默认主题对此没有影响。此外,我已将整个站点复制到另一台服务器上,其中不存在问题,WP 站点是相同的,而且 serer 配置应该是,但是在正在运行的站点上我可以看到 HTTP 请求具有另一个站点没有的关于 php 版本 (7.0.2) 的属性。
这可能会影响页面的呈现吗??查看有效的网站: https://www.doors.it/iride/2017/10/risarcimento-malasanita/amp
更新 3这是插件的一部分,实际上是编写样板代码(其中有 head 和 body 错误的标签)。
add_action( 'amp_post_template_head', 'amp_post_template_add_boilerplate_css' );
function amp_post_template_add_boilerplate_css( $amp_template ) {
?>
<style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>
<?php
}
您可能会注意到,整个 block 是一次性插入的,背后没有任何逻辑,页面应该按原样呈现(在该代码中,我尝试将标签更改为 <nonscript>
以及所有内容很好,head 标签没有关闭,body 标签在正确的位置打开,有正确的类。
最佳答案
正如评论和第三次编辑所说,这是由 Hook 函数引起的。幸运的是,这通常是一个非常简单的修复方法!
如评论中提到的@sally-cj,使用remove_action( 'amp_post_template_head', 'amp_post_template_add_boilerplate_css' );
完全停止触发此功能。
如果我们不想在管理员中输入样式,您可以在您的主题代码中复制过滤器,而无需违规 </noscript>
标签。
add_action( 'amp_post_template_head', 'so_52185596_custom_boilerplate_css' );
function so_52185596_custom_boilerplate_css( $amp_template ) {
?>
<style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style>
<?php
}
关于html - wordpress:添加 <noscript> 标签会使 <head> 标签自动关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52185596/
比方说,我有这样的 HTML 代码: Untitled Document This is content. 我想添加一个 标记那里。这意味着,如果 JavaScript 被禁用,它将显
我想在禁用 javascript 时在我的网站顶部显示一条消息(就像在 SO 上一样),但在谷歌浏览器上不起作用 最佳答案 看起来是这样。 您可以使用 javascript 隐藏“noscript”消
NoScript浏览器插件越来越受欢迎。对于我们这些运行严重依赖 javascript 的网页的人来说,我们如何检查是否存在此插件并在屏幕顶部使用某种“始终存在”的下拉栏提醒用户? 实际上我只是尝
Piwik(开源网络分析)使用 javascript 来跟踪访问者。但是,对于禁用了 javascript 的访问者,他们建议使用 标签: When a visitor has disabled Ja
我正在尝试将YouTube视频嵌入到页面的部分中。基本上,这是一个视频,向用户展示他错过了什么。 由于某种原因,尽管它不起作用。我所看到的只是一个黑色的矩形,里面什么也没有。这既发生在firefox和
如何让一些脚本只在一个域上运行?例如,我想允许来自 google.com 的脚本,但仅限于 mail.google.com?我发现了 here ,我可以使用 ABE 功能来做到这一点。所以我启用了 A
我有一个严重依赖 JavaScript 并在整个过程中使用 jQuery 的网站。 我不会尝试让网站为那些没有启用 JavaScript 的人工作。 但是,我想在页面顶部显示一个横幅,告诉他们该网站是
这个问题已经有答案了: No-Javascript Detection Script + Redirect (4 个回答) 已关闭 7 年前。 我有一个页面的功能非常依赖 javascript。基本上
我在任何地方都看不到对此的任何解释。 我只是想知道如果启用了 JS,浏览器会使用 noscript 标记内的数据生成什么。 例如: 根据 HTML5 规范,允许在 head 标签内使用 noscrip
在这里逗我一下。 我为什么要使用 在我的页面中?替代方案(至少,我使用的那个)是与(例如)HTML 5 样板一起使用的 Modernizr + no-js 类 组合,而这个到目前为止,在所有用例中都足
当我在没有 JavaScript 的情况下打开网页时,我的表单位于 标签显示为代码,但在我刷新一次后,它似乎没问题。有没有办法可以在禁用 JavaScript 后立即正确显示表单,或者有没有办法可以在
嘿,我正在制作一个 html 文档,我想拥有它,以便当有人访问该页面并启用 noscript 时,它会使整个页面变黑并显示白色文本,上面写着“启用 JavaScript”这是我的代码: .nosc
我有一个 AJAX/Javascript 密集型网页,正在尝试使用 创建网站的静态版本标签。 问题: 中的元素标签不显示,但屏幕上显示的是原始 AJAX/JS 站点的(非功能性)界面的剩余部分。看
如果他/她禁用了 javascript,我想将用户重定向到某个页面。我试过这段代码: // url::redirect is much like the location header 没用...
我用过 未启用 javascript 时隐藏某些元素的标记;但是,它似乎不起作用。 我的文档声明: 在我的文件末尾,我输入了以下内容: #status {display:none;}
我继续阅读的关于优雅降级的很多内容都适用于不使用 JavaScript 的浏览器。但我自己的经验表明,在没有 JS 和 CSS 支持的情况下,期望在互联网上获得正常体验已经不再合理。现在有多少能量用于
我今天在 Firefox 中遇到了 NoScript 的 ABE(应用程序边界执行器)与 FogBugz 和我们的本地源代码控制服务器的问题。 FogBugz 案例页面可以包含 checkin 链接,
所以,我有一个 Impressum 链接,可以弹出 Impressum div。 Impressum Impressum ligula mattis placerat.
我正在尝试获取 的内容使用 JavaScript 进行标记。我成功地在 FF、Chrome、Opera 甚至 IE6 中获得了它,但在 IE7 上失败了(还没有尝试过 IE8+)。 基本上,这是简化
我在网页上安装了许多第三方脚本。其中很少有谷歌分析、Facebook Pixel、Bing 跟踪、谷歌广告跟踪等等。它们都提供了脚本和无脚本代码块。例如:bing 跟踪代码 (fun
我是一名优秀的程序员,十分优秀!