Ajax/jQuery - 在页面加载时将网页内容加载到div中?

Cod*_*key 32 ajax jquery

不使用iframe,是否可以加载内容

<div id="siteloader"></div>
Run Code Online (Sandbox Code Playgroud)

使用外部网站,例如somesitehere.com

当页面加载? - 我知道如何从文件加载内容,但不知道如何加载整个网站?

非常感谢,

Mar*_*cel 48

没有iframe具体可以做到这一点.jQuery被使用,因为它在标题中提到.

<!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>
Run Code Online (Sandbox Code Playgroud)

  • 请注意,如果远程页面的[X-Frame-Options标题](https://developer.mozilla.org/en-US/docs/Web/HTTP/X-Frame-Options)不允许,则此操作无效. (8认同)

fai*_*ino 36

看一下jQuery的.load()函数:

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

但是,这仅适用于JS文件的同一域.

  • 这个jQuery .load()方法比其他响应中提出的jQuery .get()更好,因为它允许你从外部url DOM加载一个特定的项目(例如,只是div的内容,而不是整个页面).这样你就可以避免重复标记,比如两个"body",所以:$('#result').load('ajax/test.html #container'); (5认同)

小智 9

使用jQuery,有可能,但不使用ajax.

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

然后放在onload="LoadPage()"body标签中.

虽然如果你遵循这条路线,php版本可能会更好:

echo htmlspecialchars(file_get_contents("some URL"));
Run Code Online (Sandbox Code Playgroud)

  • 难道你不认为`$ .get`是Ajax? (28认同)
  • @Njdart:[`$ .get`](http://api.jquery.com/jQuery.get/)是一个简写的Ajax函数. (19认同)
  • 您的示例是在jQuery中使用Ajax.我想你试图解释一些与你的例子不同的东西. (2认同)