reproducir - reproductor de video html5
¿Por qué HTML5 no incluye una forma de cargar HTML local en el documento? (7)
He estado pensando mucho en esto últimamente. ¿Por qué HTML5 realmente no le permite cargar HTML en su documento para dividir sus archivos HTML?
Tiene soporte para casi todos los demás activos (imágenes, videos, audio).
Sí, tenemos iframes
, embeds
y objects
pero están en un espacio aislado y no siguen el flujo del resto del documento.
Estaba pensando en algo como:
<h2>My wonderful application</h2>
<include src = "leftPane.html" type = "text/html" />
<include src = "main.html" type = "text/html" />
<include src = "footer.html" type = "text/html" />
Me encantaría que alguien me explicara esto. En casi todas las aplicaciones web que hacemos, utilizamos algún tipo de plantilla para dividir nuestro HTML, así que, ¿por qué HTML5 no solo lo incluye?
Apreciaría tus pensamientos (sin llama).
Mate
HTML5 está hecho de 3 componentes: HTML, CSS y JavaScript. Así que tenemos que usarlos todos para aprovechar HTML5.
El código HTML externo se puede incluir en otro documento html usando javascript. Lo único es que tienes que almacenar código externo en el archivo .js. Aquí hay un ejemplo de cómo incluir el párrafo html:
<!DOCTYPE html>
<html>
<head>
<title>Main Page</title>
<script type="text/javascript" src="include_html.js"></script>
</head>
<body>
<script type="text/javascript">
paragraph();
</script>
</body>
</html>
Contenido de include_html.js
function paragraph()
{
document.write("<p> This is an HTML paragraph </p>");
}
No, cada solicitud no requerirá un viaje de ida y vuelta al servidor, si el contenido de las plantillas es constante, se puede almacenar en caché y se deben transferir menos datos. Esta es la razón por la que pones css y javascript en archivos separados.
Otra forma es usar jQuery y la etiqueta.
Por supuesto, cada solicitud requeriría un viaje de ida y vuelta al servidor. ¿Se puede imaginar los problemas de ancho de banda que esto podría causar? Habría 4 solicitudes solo para su fragmento anterior (la página original + 3 incluye) y luego, por supuesto, los problemas de representación del navegador y luego los problemas locales de JS (es decir, en qué momento se carga el DOM: ¿tiene 4 DOM?).
Resulta que esto ha surgido en las listas de correo WHATWG: El lado del cliente incluye la propuesta : Shannon propuso exactamente lo que está diciendo, donde el analizador tiene que bloquear al cargar fragmentos de documentos. Ian Hickson lo rechazó porque el costo de latencia es demasiado alto. Además, es una característica simple que muchos servidores web ya ofrecen, por lo que se consideró que no valía la pena.
En su lugar, es posible que desee investigar utilizando el atributo seamless
de iframe
, que hace que se coloque un documento completo dentro del documento, pero que actúe como cualquier elemento de bloque (heredando estilos del documento host). Aunque no creo que sea compatible con muchos navegadores todavía.
Se hizo una pregunta similar y es posible: HTML5 incluye archivo
La respuesta de Rafa:
Utilice la etiqueta de object :
<object name="foo" type="text/html" data="foo.inc"/>
foo.inc debe incluir HTML válido.
Lo probé en Konqueror, Firefox y Chromium.
Si lo encuentra útil (yo lo hago), por favor, vote por favor la respuesta de Rafa (no la mía) porque "no es posible" se está propagando como una enfermedad.
Todavía no es realmente oficial, pero parece que los Componentes Web, un nuevo concepto que permitiría las importaciones de manera similar a como lo describió, pueden agregarse a la especificación HTML en un futuro próximo. No se comporta exactamente como lo pidió, como Barry Kaye señaló que esto crearía algún problema, pero en cambio toma esta idea y aborda los problemas.
Puede ver el borrador de trabajo actual sobre el concepto aquí: http://w3c.github.io/webcomponents/spec/imports/
Y también encontré este artículo que puede ser más fácil de entender (lo fue para mí) aquí: http://www.html5rocks.com/en/tutorials/webcomponents/imports/
Sé que esto es principalmente una respuesta teórica, pero también fue una especie de pregunta teórica;).