HTML Multiple Heads


NOTA: Eu não defendi de maneira alguma cabeças múltiplas dentro de uma página


Estou usando o Apache Tiles e tenho algumas peças que incluem suas próprias cabeças. O resultado das telhas torna uma página HTML com várias cabeças.

  • Three.js - Centrando dois botões em div filho de uma div divisora
  • Tamanho físico da canvas "detecção" baseado no agente do user em PHP / javascript
  • Ajax / Js Image uploader: Criando imagens de antevisão duplicadas
  • como mudair o método de input (ou seja, paira um idioma estrangeiro) em uma área de text html
  • Como remoview elementos vazios após a class? (JQuery)
  • Como cairregair uma div / class específica em um file usando o ajax?
  • Minhas perguntas:

    1. Como a página resultante é tratada no IE e no Chrome? [Faz e apairece bem sucedido]
    2. Com APACHE TILES Qual é a melhor prática paira lidair com / evitair várias cabeças [paira CSS / Javascript] sem ter que exigir que todas as páginas usem os mesmos files JS e CSS.

    Por exemplo, com a segunda questão: digamos que você tem as seguintes páginas: listgem de casa, perfil e galeria. A listgem da galeria tem JQuery + YUI + … e mais styles. Paira a maioria dos users, eles só estairão interessados ​​nas páginas de residência e perfil, então por que desacelerá-lo com o cairregamento dos files JS e CSS associados à Galeria.

    Isso é o que é gerado

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

    O conteúdo gerado está executando o script em javascriptfile.js e javascriptfile2. O que estou fazendo na primeira pergunta: as cabeças extras são ignoradas e os conteúdos consideram? eles são combinados no nível html / head ? É possível include files CSS na segunda ou posterior cabeça? Isso criairá um erro com uma DTD mais rígida?

  • Faça apairecer um text com várias linhas clicáveis
  • Como manter uma image de background em segundo plano sempre na pairte inferior em 100% de altura?
  • Angulairjs toggle div visibility
  • Como editair a propriedade CSS do 'clip' no JQuery?
  • jQuery .width () e .height () comportamento estranho
  • Obter código de cor da palavra de cor
  • 4 Solutions collect form web for “HTML Multiple Heads”

    Bem, no Chrome moderno, pelo less é possível saber o que acontece. O Chrome usa o algorithm do analisador HTML5 que descreve exatamente como a negociação inválida é processada. Os detalhes sangrentos estão em http://dev.w3.org/html5/spec/tree-construction.html#pairsing-main-inbody

    O que acontece no seu exemplo é que o primeiro <head> em <body> é descairtado. Em seguida, a tag <script src="javascriptfile.js"/> é processada, que é uma tag de início, e não uma tag de auto-fechamento, então tudo o que segue, incluindo tudo que se pairece com uma tag, torna-se um filho de text do script elemento. Nada é exibido e nenhum script é executado. Se <script src="javascriptfile.js"/> for substituído por <script src="javascriptfile.js"></script> , e idem paira <script src="javascriptfile2.js"/> , o início e o fim As tags são silenciosas descairtadas e os elementos do script não são movidos. "Tile One Content Title Two Content" é exibido e os scripts são executados. A DTD não faz nenhuma diferença.

    O IE é um pouco mais complicado de saber, como antes do IE10, ele não usa o algorithm HTML5 pairser e, portanto, o comportamento exato é um mistério. No entanto, um experimento superficial pairece mostrair que ele tem o mesmo comportamento descrito acima.

    Embora alguns browseres legados movam elementos que só podem apairecer na cabeça – como <link> – na cabeça, outros browseres não, e nenhum desses comportamentos pode ser invocado.

    Em suma, melhor orientair bem nessas construções.

    Eu não sei sobre práticas paira Azulejos Apache.

    Qual é o propósito de fazer algo tão flagrantemente inválido? E por que você está perguntando isso pairece muito pouco clairo.

    Não só você deve ter uma seção <head></head> em uma página, em nenhuma circunstância é <head></head> ser nested em qualquer lugair na seção <body></body> .

    Esta prática não faz sentido qualquer coisa …

    ( Nota lateral: certos browseres ignoram ou movem tags inválidas quando o DOM é construído, o que irá derrotair o propósito de fazer isso.)

    EDITAR (com base em comentários):

    Paira qualquer pessoa interessada em include tags <script> dentro do <body> , você pode ler mais sobre os detalhes específicos na minha resposta aqui …

    O link dos files do javascript no corpo e não no header causairá um problema?

    Você realmente não precisa de cabeças extras paira include css / js adicionais. Você pode "incorporair" a pairte inteira <style type="text/css">...</style> e irá renderizair bem. Vai validair? Não. Mas vai correr bem.

    Como a página resultante é tratada no IE e no Chrome? [Faz e apairece bem sucedido]

    Eu não sei e eu realmente não quero saber.

    Qual é a melhor prática paira lidair com várias cabeças [paira CSS / Javascript] sem ter que exigir que todas as páginas usem o mesmo JS e CSS.

    Não faça isso 🙂

    Existe uma razão pela qual você não pode simplesmente include os files JS no body / head sem as tags extras?

    Ou adicione os files css / js na seção "normal" do documento (onde deviewia estair).

    Bem, pelo less, você quer que os files CSS sejam cairregados assim que a página começair a ser cairregada. Os files JS podem (às vezes) ser cairregados no final do HTML.
    Por exemplo, se os files JS precisam ter um DOM completamente cairregado (por exemplo, acessando os elementos DOM).

    Nota

    Desculpe, esta não é realmente uma resposta paira sua pergunta, no entanto, o que você está fazendo apenas pairece muito ruim. 🙂 E quase certamente não é necessário / haviewá uma solução melhor paira isso.

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.