Ajax / jQuery-charger le contenu de la page Web dans un div lors du chargement de la page?

Sans utiliser iframes, est-il possible de charger le contenu de

<div id="siteloader"></div>

Avec un site externe par exemple somesitehere.com

Quand la page se charge? - Je sais comment charger le contenu d'un fichier, mais je ne savais pas comment charger un site entier?

Merci Beaucoup,

30
demandé sur CodeyMonkey 2012-04-01 14:49:17

4 réponses

Ceci est possible sans un iframe spécifiquement. jQuery est utilisé car il est mentionné dans le titre.

<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Load remote content into object element</title>
  </head>
  <body>
    <div id="siteloader"></div>​
    <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
    <script>
      $("#siteloader").html('<object data="http://tired.com/">');
    </script>
  </body>
</html>
48
répondu Marcel 2012-04-01 11:37:01

Jetez un oeil dans jQuery.charge () Fonction:

<script>
    $(function(){
        $('#siteloader').load('http://www.somesitehere.com');
    });
</script>

Cependant, cela ne fonctionne que sur le même domaine du fichier JS.

35
répondu faino 2012-04-01 10:55:56

Avec jQuery, c'est possible, mais ne pas utiliser ajax.

function LoadPage(){
  $.get('http://a_site.com/a_page.html', function(data) {
    $('#siteloader').html(data);
  });
}

, puis placez onload="LoadPage()" dans la balise body.

Bien que si vous suivez cette route, une version php pourrait être meilleure:

echo htmlspecialchars(file_get_contents("some URL"));
8
répondu Njdart 2012-04-01 11:00:43

Vous ne pouvez pas injecter le contenu d'un autre site (domaine) en utilisant AJAX. La raison pour laquelle un iFrame est adapté à ce genre de choses est que vous pouvez spécifier la source d'un autre domaine.

2
répondu Lee Davis 2012-04-01 10:51:48