Incluir otro archivo HTML en un archivo HTML
Tengo 2 archivos HTML, supongamos a.html
y b.html
. En a.html
quiero incluir b.html
.
En JSF puedo hacerlo así:
<ui:include src="b.xhtml" />
Significa que dentro del archivo a.xhtml
, puedo incluir b.xhtml
.
Cómo podemos hacerlo en el archivo *.html
?
586
3
En mi opinión, la mejor solución utiliza jQuery:
a.html
:b.html
:Este método es una solución simple y limpia a mi problema.
La documentación de jQuery
.load()
está aquí.Mi solución es similar a la de lolo arriba. Sin embargo, inserto el código HTML a través de JavaScript's document.write en lugar de utilizar jQuery:
a.html:
b.js:
La razón por la que me opongo a usar jQuery es que jQuery.js tiene un tamaño de ~90kb, y quiero mantener la cantidad de datos a cargar lo más pequeña posible.
Para obtener el archivo JavaScript correctamente escapado sin mucho trabajo, puede utilizar el siguiente comando sed:
O simplemente utilizar el siguiente script bash publicado como Gist en Github, que automatiza todo el trabajo necesario, convirtiendo
b.html
ab.js
: https://gist.github.com/Tafkadasoh/334881e18cbb7fc2a5c033bfa03f6ee6Créditos a Greg Minshall por el comando sed mejorado que también escapa las barras invertidas y las comillas simples, que mi comando sed original no consideraba.
Alternativamente, para los navegadores que soportan template literals lo siguiente también funciona:
b.js:
Como alternativa, si tiene acceso al archivo .htaccess de su servidor, puede añadir una simple directiva que permita interpretar php en los archivos que terminan en extensión .html.
Ahora puede utilizar un simple script php para incluir otros archivos como: