HTML Mehrere Köpfe
HINWEIS: ich bin in keiner Weise befürworten mehrere Köpfe innerhalb einer Seite
Ich bin mit Apache Tiles, und ich habe ein paar Fliesen, die Ihre eigenen Köpfe. Das Ergebnis der Fliesen wird in eine HTML-Seite mit mehreren Köpfen.
Meine Fragen:
- Wie ist die resultierende Seite behandelt, in IE und Chrome? [Macht es und scheint erfolgreich]
- MIT APACHE TILES Was ist die beste Praxis für den Umgang mit/Vermeidung von mehrere Köpfe [CSS/Javascript], ohne Nachfrage alle Seiten verwenden den gleichen JS-und CSS-Dateien.
Zum Beispiel mit Frage Zwei:
Können sagen, Sie haben auf den folgenden Seiten: Startseite, Profil und Galerie-Auflistung. Galerie-Auflistung hat fancy JQuery+YUI+... und weitere Stile. Für die meisten Benutzer, Sie würden nur daran interessiert sein, die home-und Profil-Seiten, warum also Sie verlangsamen mit dem laden der JS-und CSS-Dateien im Zusammenhang mit der Galerie.
Dies ist, was erzeugt wird
<html>
<head>
<title>The Template's Title</title>
</head>
<body>
<head> <script src="javascriptfile.js"/></head> Tile One Content
<head> <script src="javascriptfile2.js"/></head> Title Two Content
</body>
</html>
Der generierte Inhalt ist das Skript ausführt, in javascriptfile.js und javascriptfile2. Was ich Frage in der ersten Frage: ist die extra Köpfe ignoriert, und der Inhalt hält? sind Sie zusammen in die html/head Ebene? Ist es möglich, CSS-Dateien, die in der zweiten oder späteren Kopf? Wird diese erzeugen eine Fehlermeldung mit einer strengeren DTD?
- Meine persönliche Theorie ist, dass die html/body/head [*] - tags werden ignoriert und der script-tags ausgeführt werden, an der position, die Sie in den text. Das javascript wird ausgeführt.
- Sind die
<head>
's notwendig, die in den Vorlagen? - Warum auf der Erde würden Sie fügen Sie mehrere Kopf-Abschnitte in einem HTML-Dokument???
- Technisch sollte es möglich sein, mehr als einen Kopf Abschnitt, aber ich würde alles tun, menschlich eben möglich, vermeiden Sie es wie die plaig.
- Ich verstehe, dass es im Grunde ruft die schlimmsten Alpträume kann man sich vorstellen, aber ich bin den Umgang mit code, geerbt wurde, und die JSP-Dateien haben Ihre eigenen CSS und JS zusammenhängen.
- Wenn Sie gerade sind darunter auch einige scripts, style-Dateien... Sie sollten in Ordnung sein (wenn Sie können Sie loswerden der head-tags). Seine nicht optimal (z.B. Stile aufgenommen werden sollten, in den Kopf, wenn möglich, und das Skript sollte am unteren Rand der Seite (wenn möglich) aber es sollte funktionieren.
- crazy post des Tages!
- Von wem haben Sie die Erben der code? Ich würde Schießen Sie die person auf den Augen 😀
- Ihre classpath ist: "localhost".home. So möchten Sie vielleicht, um einen whois auf localhost... es wird geben Sie Ihre Position.
- hehehe 🙂
- Auch: eine Warnung an die Menschen, die sich der Worte, die mehrere Leiter und automatisch downvote es
- Zaphod Beeblebrox!
- Das sieht aus wie etwas, das wäre gut zu freak out-die Menschen am 1. April im nächsten Jahr.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut, in modernem Chrom ist, ist es zumindest möglich zu wissen, was passiert. Chrome verwendet die HTML5-parser-Algorithmus, der beschreibt genau, wie ungültige mark-up verarbeitet wird. Die blutigen details sind auf http://dev.w3.org/html5/spec/tree-construction.html#parsing-main-inbody
Was passiert in deinem Beispiel ist, dass die erste
<head>
im<body>
verworfen. Dann die<script src="javascriptfile.js"/>
tag verarbeitet, der ein start-tag, nicht einen self-closing-tag, also alles, was folgt, darunter alles, was aussieht wie ein tag, wird ein text-Kind des script-Elements. Wird nichts angezeigt, kein Skript ausgeführt wird. Wenn<script src="javascriptfile.js"/>
wird ersetzt durch<script src="javascriptfile.js"></script>
, und dito für<script src="javascriptfile2.js"/>
die head-start-und-end-tags sind leise verworfen, und die script-Elemente werden nicht verschoben. "Kachel für Ein Content-Titel, Zwei Inhalte" angezeigt und die Skripte ausgeführt werden. Die DTD macht überhaupt keinen Unterschied.IE ist etwas schwieriger zu wissen, als vor dem IE10, Sie nicht verwenden die HTML5-parser-Algorithmus, und daher ist es genau das Verhalten ist ein Rätsel. Jedoch, ein flüchtiges experiment scheint zu zeigen, dass es hat das gleiche Verhalten wie oben beschrieben.
Obwohl einige ältere Browser verschieben Elemente können nur im Kopf - wie
<link>
- in den Kopf, die andere Browser nicht tun, und kein solches Verhalten verlassen kann.Alles in allem, besten lenken gut klar von solchen Konstrukten.
Ich weiß nicht, über die Praktiken der Apache-Fliesen.
Was ist der Zweck von etwas, das so Ungeheuer ungültig? Und warum bist du gefragt, das scheint mir sehr unklar.
Nicht nur sollten Sie nur EINE
<head></head>
Abschnitt auf einer Seite, unter keinen Umständen ist die<head></head>
geschachtelt werden überall in der<body></body>
Abschnitt.Diese Praxis absolut keinen Sinn auch immer....
(Seite-Hinweis: Bestimmte Browser ignorieren oder verschieben ungültige tags, wenn das DOM aufgebaut ist, die Niederlage Ihre ganze Absicht, dies zu tun.)
BEARBEITEN (basierend auf Kommentare):
Für alle interessierten einschließlich
<script>
tags innerhalb der<body>
, Sie können mehr über die spezifischen details in meiner Antwort hier...Wird die Verknüpfung von javascript-Dateien in den Körper, anstatt in den header ein problem verursachen?
script
tags/enthält am Ende der Seite in derbody
aber ich dachte, ich würde bekommen, die aus meiner Sicht zu viel.Die Sie wirklich nicht brauchen extra-Köpfe, um zusätzliche css/js. Sie können 'inline' die ganze
<style type="text/css">...</style>
Teil und machen wird es gut. Wird es überprüfen? Nein. Aber gut laufen.Ich weiß es nicht und ich möchte wirklich nicht zu wissen.
Tun Sie es nicht 🙂
Gibt es einen Grund, warum du nicht einfach die JS-Dateien in der
body
/head
ohne die zusätzlichen tags?Oder fügen Sie die
css
/js
Dateien in den 'normalen'head
Abschnitt des Dokuments, wo es sein sollte).Gut atleast Sie wollen, dass die CSS-Dateien geladen werden, sobald die Seite zu laden anfängt. JS-Dateien kann (manchmal) geladen werden, die am Ende der HTML.
Zum Beispiel, wenn die JS-Dateien müssen einen vollständig geladenen DOM (für z.B. den Zugriff auf DOM-Elemente).
Hinweis
Sorry das ist nicht wirklich eine Antwort auf deine Frage, aber was du machst sieht einfach schlecht Weg. 🙂 Und ist fast sicher nicht nötig oder gibt es eine bessere Lösung für Sie.