2010-10-13 16 views
17

Me preguntaba si hay alguna forma de incluir contenido html dentro de otro html usando solo html?Equivalente de incluir() en HTML

Un reemplazo de PHP a

<?php include("file.php"); ?> 

es esto posible?

EDIT:

Esto ha traído un poco de confusión, lo que necesitaba era "casi una etiqueta HTML" que tenía la funcionalidad de incluir un documento HTML en otro.

+1

HTML5 lo hace. Pero no por el momento. – Jake

+0

@Jake que es bueno saber. ¿Cómo se llamará la función? – Trufa

+2

@Trufa Creo que está hablando del atributo HTML5 "sin costura" para iframes (https://html.spec.whatwg.org/#attr-iframe-seamless), pero por el momento el soporte es bastante deprimente: http : //caniuse.com/#feat=iframe-seamless – waldyrious

Respuesta

18

No se puede hacer simplemente por HTML. (Hay iframes, sin embargo, pero no creo que califique en este caso).

Se puede hacer mediante JavaScript. Obtienes el otro archivo a través de Ajax y colocas su contenido dentro de un elemento HTML en la página actual.

+0

Estoy muy limitado, en realidad estoy pidiendo páginas de pestañas fmbl en Facebook. – Trufa

3

No existe tal cosa. Tendría que usar un lenguaje de scripting del lado del servidor o JavaScript para hacer algo como esto.

1

sí hay pero hay que activarlo en su configuración o .htaccess:

Options +Includes 
AddType text/html .shtml 
AddHandler server-parsed .shtml 

Por supuesto, con esa necesidad del youd para cambiar el nombre de cualquier archivo haciendo lo que incluye a .shtml ... o usted podría jsut uso :

Options +Includes 
AddType text/html .html 
AddHandler server-parsed .html 

la sintaxis en sí es similar a comentar:

<!--#include virtual="/footer.html" --> 
+3

no es html. –

+0

, bueno, no, pero tampoco requiere algo como PHP. – prodigitalson

+0

Este es un servidor incluido, no HTML simple. Igual de fácil, si no más fácil, usar JavaScript probablemente. –

5

t él solo sería un iframe que es html puro. pero también puede usar javascript para obtener la página a través de ajax e incluirla en su hirarchy dom

+0

No, no puedo usar iframes. gracias – Trufa

6

HTML no tiene una función para incluir contenido adicional de forma nativa. Sin embargo la mayoría de los servidores web tienen server-side include declaraciones:
SSI in Apache
SSI in IIS

2

Esto podría ser un par de años de retraso, pero esto es cómo lo hice!

en la primera línea después de poner esta línea!

<SCRIPT LANGUAGE="JavaScript" src="http://yourdomain.com/header.js"> 

luego cree un archivo llamado "header.js" e ingrese el contenido del archivo que desea incluir! como tal ....

<!-- Begin 
document.write('<center>'); 
document.write('<a href="http://alinktosomewhere.co.za">a link 1</a>'); 
document.write('<a href="http://alinktosomewhere.co.za">a link 1</a>'); 
document.write('<a href="http://alinktosomewhere.co.za">a link 1</a>'); 
document.write('<a href="http://alinktosomewhere.co.za">a link 1</a>'); 
document.write('<hr>'); 
document.write('</center>'); 
// End --> 

Esperanza esta ayuda!

+2

Una desventaja es que los usuarios sin JavaScript habilitado no verán el contenido que está escrito así. Eso actualmente incluye rastreadores de motores de búsqueda, por lo que el contenido no se mostrará en los motores de búsqueda. –

+1

Bien ... ¡eso no lo pensé! t – Cavemanharris

+0

No sé por qué esto tiene tantos downvotes. Es tan bueno como la mayoría de las soluciones aquí. – EML

29

Ha intentado:

<object type="text/html" data="file.html"></object> 
+0

¡eso es brillante! – cnlevy

+3

Muy bonito, pero tiene al menos un inconveniente que encontré: al menos en Chrome, al hacer clic en un enlace dentro del marco del objeto abrirá de forma predeterminada el nuevo enlace DENTRO del objeto, en lugar de en el navegador. Establecer los objetivos de enlace para target = "_ top" en el archivo incluido es una solución posible. –

9

Enchufe desvergonzado de una biblioteca que escribí el solucionar esto.

https://github.com/LexmarkWeb/csi.js

<div data-include="/path/to/include.html"></div> 

Lo anterior se llevará a los contenidos de /path/to/include.html y reemplazar el div con él.

+0

¡Absolutamente maravilloso! Funciona perfectamente ... – Varun

+1

no funciona para 'chrome' – javadba

+0

@javadba ¿Agregó' --allow-file-access-from-files' al tiempo de ejecución de Chrome como se describe en el archivo léxico del repositorio? –

Cuestiones relacionadas