我正在尝试将我的页面验证为 HTML 5 (W3c)。我有以下错误:此处不允许使用“img”元素(作为“noscript”元素的子元素)。 “noscript”元素作为“head”的子元素时,必须仅包含以下子元素:“link”、“style”和“meta”。
On site https://developers.facebook.com/docs/ads-for-websites/conversion-pixel-code-migration https://developers.facebook.com/docs/ads-for-websites/conversion-pixel-code-migration对我的代码的建议:
“将升级后的代码片段复制并粘贴到<head>
; and </head>
;在您要跟踪转化的网站的 HTML 代码中。例如,要跟踪注册情况,请将代码放在“注册完成”网页上。”
请查看源代码:
<head>
<script type="text/javascript">
var fb_param = {};
fb_param.pixel_id = '1234567890';
fb_param.value = '10.00';
fb_param.currency = 'USD';
(function(){
var fpw = document.createElement('script');
fpw.async = true;
fpw.src = '//connect.facebook.net/en_US/fp.js';
var ref = document.getElementsByTagName('script')[0];
ref.parentNode.insertBefore(fpw, ref);
})();
</script>
<noscript><img height="1" width="1" alt="" style="display:none" src="https://www.facebook.com/offsite_event.php?id=1234567890&value=10.00¤cy=USD" /></noscript>
</head>
是否可以修改此代码并通过验证(在头部部分)?
W3C 的 HTML5 规范定义了内容模型noscript element https://www.w3.org/TR/2014/REC-html5-20141028/scripting-1.html#the-noscript-element in the head
像这样的元素:
[...] 以任意顺序,零个或多个link
元素,零个或多个style
元素,以及零个或多个meta
元素。
正如你所看到的,它不能包含除link
/style
/meta
元素。所以不,不可能修改任何东西来允许img
里面的一个noscript
里面的元素head
元素。
但你可以有一个img
代替noscript
如果你把noscript
中的元素body
,因为内容模型在这种情况下是:
透明,但不能有noscript
元素后代。
透明的意味着它与其父元素具有相同的内容模型。例如,如果noscript
是在一个里面div
,它可能包含任何div
可能包含(除了另一个noscript
).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)