Quero criar páginas comuns de cabeçalho e rodapé incluídas em várias páginas html.
Eu gostaria de usar javascript. Existe uma maneira de fazer isso usando apenas html e JavaScript?
Quero carregar uma página de cabeçalho e rodapé em outra página html.
javascript
jquery
html
css
Prasanth AR
fonte
fonte
Respostas:
Você pode fazer isso com o jquery .
Coloque este código em
index.html
e coloque esse código
header.html
efooter.html
, no mesmo local queindex.html
Agora, quando você visitar
index.html
, poderá clicar nas tags de link.fonte
local file
não funcione na nova versão do Google Chrome ou IE, motivo: segurança!.breathe(in)
e.breathe(out)
já? Qualquer linguagem de script é puro exagero aqui.Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
quando eu corro em cromoEu adiciono partes comuns como cabeçalho e rodapé usando o Server Side Include . Não é necessário HTML nem JavaScript. Em vez disso, o servidor da Web adiciona automaticamente o código incluído antes de fazer qualquer outra coisa.
Basta adicionar a seguinte linha onde deseja incluir seu arquivo:
fonte
.shtml
,.stm
,.shtm
. Ele funciona no Apache, LiteSpeed, nginx, lighttpd e IIS..shtml
,.stm
e.shtm
: No IIS, todos os arquivos processadas que pode conter SSI, por exemplo.aspx
. Se estiver trabalhando com PHP, você precisará usar o PHPinclude
ou ovirtual
comando para obter o mesmo resultado.Você deve usar a estrutura de arquivos html com JavaScript? Você já pensou em usar o PHP para poder usar o simples objeto de inclusão do PHP?
Se você converter os nomes de arquivo das suas páginas .html em .php - na parte superior de cada uma das suas páginas .php, poderá usar uma linha de código para incluir o conteúdo do seu header.php
Faça o mesmo no rodapé de cada página para incluir o conteúdo do seu arquivo footer.php
Nenhum JavaScript / Jquery ou arquivos incluídos adicionais são necessários.
NB: Você também pode converter seus arquivos .html em arquivos .php usando o seguinte no arquivo .htaccess
fonte
Eu tentei o seguinte: Crie um arquivo header.html como
Agora inclua header.html em suas páginas HTML, como:
Funciona perfeitamente bem.
fonte
Você também pode colocar: (load_essentials.js :)
fonte
Acho que as respostas a essa pergunta são muito antigas ... atualmente, alguns navegadores de desktop e dispositivos móveis suportam modelos HTML para fazer isso.
Eu construí um pequeno exemplo:
Testado OK no Chrome 61.0, Opera 48.0, Opera Neon 1.0, Android Browser 6.0, Chrome Mobile 61.0 e Adblocker Browser 54.0
KO testado no Safari 10.1, Firefox 56.0, Edge 38.14 e IE 11
Mais informações de compatibilidade em canisue.com
index.html
autoload-template.html
styles.css
Você pode obter mais exemplos neste postagem do HTML5 Rocks
fonte
Eu tenho trabalhado em C # / Razor e, como não tenho a configuração do IIS no meu laptop em casa, procurei uma solução javascript para carregar as visualizações, criando uma marcação estática para o nosso projeto.
Eu me deparei com um site que explica métodos de "abandonar jquery", ele demonstra que um método no site faz exatamente o que você procura em javascript simples de Jane ( link de referência na parte inferior da postagem) ). Certifique-se de investigar quaisquer vulnerabilidades de segurança e problemas de compatibilidade, se você pretende usá-lo na produção. Eu não sou, então eu nunca examinei isso sozinho.
Função JS
Obter o conteúdo
index.html
views / header.html
A fonte não é minha, apenas a refiro, pois é uma boa solução de javascript de baunilha para o OP. O código original está aqui: http://gomakethings.com/ditching-jquery#get-html-from-another-page
fonte
Aloha a partir de 2018. Infelizmente, não tenho nada legal ou futurista para compartilhar com você.
No entanto, gostaria de salientar que aqueles que comentaram que o
load()
método jQuery não está funcionando no momento provavelmente estão tentando usar o método com arquivos locais sem executar um servidor web local. Se o fizer, vai jogar a acima erro mencionado "origem cruzada", que especifica que a origem cruz solicita, como a efectuada pelo método de carga só são suportados por sistemas de protocolo, comohttp
,data
, ouhttps
. (Suponho que você não esteja fazendo uma solicitação de origem real, ou seja, o arquivo header.html está no mesmo domínio da página da qual você está solicitando)Portanto, se a resposta aceita acima não estiver funcionando para você, verifique se você está executando um servidor web. A maneira mais rápida e simples de fazer isso se você estiver com pressa (e usando um Mac, que possui o Python pré-instalado) seria ativar um servidor http simples do Python. Você pode ver como é fácil fazer isso aqui .
Eu espero que isso ajude!
fonte
Também é possível carregar scripts e links no cabeçalho. Vou adicionar um dos exemplos acima ...
fonte
outra abordagem disponibilizada desde que essa pergunta foi feita pela primeira vez é usar o reactrb-express (consulte http://reactrb.org ). Isso permitirá que você faça scripts em ruby no lado do cliente, substituindo seu código html por componentes de reação escritos em ruby.
fonte
Salve o HTML que você deseja incluir em um arquivo .html:
Content.html
Inclua o HTML
A inclusão de HTML é feita usando um atributo w3-include-html :
Exemplo
Adicione o JavaScript
As inclusões HTML são feitas por JavaScript.
Ligue para includeHTML () na parte inferior da página:
Exemplo
fonte