我的自定义标记在头部分中的Chrome / Firefox错误 - 不是IE

时间:2012-07-28 18:54:27

标签: html firefox google-chrome

我的头部分如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html lang="es" xml:lang="es">
<head>
    <title>Hi!</title>
    <mycustomtag att="1"></mycustomtag>
    <script>...</script>
    <!--anything else-->
</head>
<body>
</body>
</html>

Chrome / Firefox问题是MyCustomTag出现在BODY部分和SCRIPT标记中。我不知道为什么会出现:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html lang="es" xml:lang="es">
<head>
    <title>Hi!</title>
</head>
<body>
    <mycustomtag att="1"></mycustomtag>
    <script>...</script>
    <!--anything else-->
</body>
</html>

3 个答案:

答案 0 :(得分:0)

添加

<style>
mycustomtag { display: none; }
</style>

Chrome行为是一项功能,而不是错误。当您使用发明的标签时,您会偏离HTML规范,浏览器可能会做任何他们想做的事情。 (您还有一个不合格的doctype,它会在某些浏览器中触发怪癖模式。)

答案 1 :(得分:0)

要处理元素在DOM中body而不是head的问题(与需要隐藏元素相反),通过移动元素来操纵DOM body {(1}}(如果有)head

<script>
var myElement = document.getElementsByTagName('mycustomtag')[0];
if(myElement.parentNode === document.body) {
  document.body.removeChild(myElement);
  document.head.appendChild(myElement);
}
 </script>

答案 2 :(得分:0)

解决此问题的唯一方法是管理html渲染并添加自定义标记以开始正文和结束正文标记。这种方式可以删除浏览器注入的所有标签。 身体末端的Chrome插入标签也是:s太棒了!关闭标签是! 谢谢! -