2010-08-25 3 views

Répondre

1

Cela fonctionne aussi ... en utilisant ... dojo

<script type="text/javascript"> 
var url = dojo.moduleUrl("dijit.form", "help.html"); 
dojo.xhrGet({ 
    url: url, 
    load: function(html){ 
     dojo.byId("mycontent").innerHTML = html; 
    } 
}); 
</script> 

<div id="mycontent"> 

</div> 

Mise à jour:

Dans Dojo 1.7+, utilisez require.toUrl au lieu de dojo.moduleUrl

3

Je ne suis pas complètement sûr de ce que vous cherchez, mais si vous souhaitez afficher un document HTML dans un autre document HTML, je pense que la seule façon de le faire est d'utiliser un iframe. Consultez ce tutoriel: http://www.designplace.org/tutorials.php?page=1&c_id=1

Peut-être que vous pouvez charger le document HTML et dépouiller les HEAD et emballage BODY éléments, puis insérez le code dans l'élément DIV.

EDIT: Ah, pas de iframes vous avez dit. Eh bien, alors je propose ce dernier. ^^ méthode

12

Utilisez jquery

$("#mydiv").load("myexternalfile.html"); 
+2

Est-ce que cela filtre les éléments indésirables tels que 'HTML',' HEAD' et 'BODY'? Si oui, alors ce serait une solution assez élégante. Bien mieux que d'essayer de faire une insertion manuelle. – gablin

+1

Non son extrait tout le html du 'myexternalfile.html' alors le met dans le div. – Starx

0

Vous pouvez toujours utiliser jquery pour charger le contenu via un appel ajax. Prenez le résultat et supprimez <body> et tout avant, et </body> et tout ce qu'il y a derrière. Vous pouvez utiliser regex pour vous assurer d'inclure tous les attributs de la balise body.

Ensuite, vous êtes à gauche avec le corps brut html, que vous pouvez ajouter à la div en utilisant jQuery.

jQuery.ajax({ 
    url: 'page.html', 
    success: function(data, textStatus, XMLHttpRequest) { 
     data = data.replace(/.*<body.*?>/gi,''); 
     data = data.replace(/</body>.*/gi,''); 
     jQuery('#myDiv').html(data); 
    } 
}); 

Mon regex est un peu rouillé et vous pourriez avoir à bidouiller que :)

Questions connexes