0

私の頭のセクションは次のようなものです:

<!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>
4

3 に答える 3

0

追加

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

Chromeの動作は機能であり、バグではありません。発明されたタグを使用すると、HTML仕様から逸脱し、ブラウザは必要な処理を実行できます。(また、一部のブラウザーでクォークモードをトリガーする不適合のDoctypeがあります。)

于 2012-07-28T19:09:54.247 に答える
0

body要素がDOMにあり、DOMにないという問題に対処するにはhead(要素を非表示にする必要があるのとは対照的に)、要素をbody(存在する場合)からhead:に移動してDOMを操作します。

<script>
var myElement = document.getElementsByTagName('mycustomtag')[0];
if(myElement.parentNode === document.body) {
  document.body.removeChild(myElement);
  document.head.appendChild(myElement);
}
 </script>
于 2012-07-28T19:32:26.927 に答える
0

この問題を解決する唯一の方法は、htmlのレンダリングを管理し、本文と終了本文のタグにカスタムマークを追加することです。この方法で、ブラウザによって挿入されたすべてのタグを削除できます。本体の最後にあるChrome挿入タグも:sは素晴らしいです!クローズタグは!どうもありがとう!–

于 2012-07-28T21:31:52.063 に答える