El otro día, otro programador me hizo una pregunta. Recuerdo (hace mucho tiempo) que me preguntaba lo mismo. ¿Por qué nunca se consideró una etiqueta de inclusión del lado del navegador? ¿O era?
Específicamente con una etiqueta que le indicó al navegador que incluya HTML adicional de otras fuentes. por ej <include src="http://server/foo/bar.html">
. Muchas personas harán llamadas de JavaScript y se completarán innerHTML
para lograr lo mismo, cuando el navegador pueda lograr lo mismo fuera del motor de JavaScript.
Hubiera sido doloroso haber anidado <HTML>
s <BODY>
s (es decir), pero de todos modos tenemos que considerar ese aspecto en cualquier lugar.
Respuestas:
¿Soy la última persona en la tierra que recuerda (solo Netscape 4 )
layer
y lasilayer
etiquetas?Netscape 4 también permitió que la
div
etiqueta tuviera unsrc
atributo, lo que logró lo mismo.Netscape los envió al W3C, que decidió no incluirlos, en su
iframe
lugar, úselos.fuente
document
objeto separado sujeto a la Política del mismo origen; eran efectivamente un iframe posicionable.Ciertamente, fue solicitado por cada autor web novato que aún no había trabajado con Server Side incluye, en los primeros días en la lista www-html. Pero en esos días W3 estaba feliz de ignorar por completo la presión de los autores web.
Si se permitiera la inclusión entre sitios, sería un desastre de seguridad. Puede acceder a una página del banco del usuario y leer el contenido del mismo. (Originalmente, scripting DOM era limitado, pero aún se podía haber leído de
document.links
,document.images
, las funciones de script se redujeron en la página de destino, etc. Desde entonces usted puede hacer lo que quiera con el contenido importado.)Si no se permitiera la inclusión entre sitios ... bueno, entonces la característica no tendría ninguna ventaja sobre las del lado del servidor. Sería un trabajo más lento para el cliente hacer que el servidor podría haber manejado mejor. A diferencia
<iframe>
, una inclusión tendría que bloquear la carga de la página. Los SSI serían en todos los sentidos superiores.fuente
Lo hicieron. Se convirtió en la
<frameset>
etiqueta. No mucho después, agregaron la<iframe>
etiqueta.La mayoría de los primeros servidores web admitían las inclusiones del lado del servidor, por lo que se pensó que una inclusión textual del lado del cliente era innecesaria, dado que la misma funcionalidad estaba disponible también con los marcos.
fuente
<iframe>
. Eso es lo que es para . Realmente no es muy diferente de un<div>
conoverflow:auto;
El objeto aún se representa en un marco y no tiene acceso DOM a los "datos". Lo que los desarrolladores deberían haber recibido hace años es una forma de incluir fragmentos con una etiqueta simple. Incluso si esta etiqueta tuviera restricciones de espacio aislado de dominio, sería bastante útil compartimentar características, mejorar el mantenimiento y aprovechar el almacenamiento en caché del navegador.
Sé que hay muchos buenos complementos de jquery que hacen esto y muchos scripts del lado del servidor, pero no hay una buena razón para no admitir dicha etiqueta. OMI es una buena pregunta "¿Por qué no hay etiqueta de inclusión del lado del cliente?"
Si te gusta jquery, aquí hay un buen script para incluir en el lado del cliente: inc: un plugin jQuery de JavaScript para el lado del cliente súper pequeño
fuente
Has probado
Creo que eso está implementado en la mayoría de los navegadores.
fuente
Las variantes de una
<include>
etiqueta fueron consideradas en la historia temprana de HTML , pero nunca llegaron muy lejos.fuente