0

几个小时我试图从一个页面加载 div 内容并将其显示给另一个页面。例如:

我们有这个维基百科页面。我想获取 div 的内容id="mw-content-text"并将其显示到具有id="result".

有没有办法只用 javascript/jquery 来做到这一点?

4

5 回答 5

3

是的,请参阅http://api.jquery.com/load/上的“加载页面片段” 。

简而言之,您在 URL 之后添加选择器。例如:

$('#result').load('ajax/test.html #container');
于 2013-08-26T09:02:36.543 回答
2

伙计,根据帖子,这可能是不可能的

Access-Control-Allow-Origin 不允许来源

于 2013-08-26T09:05:50.800 回答
2

首先下载 JS 文件https://github.com/padolsey/jQuery-Plugins/blob/master/cross-domain-ajax/jquery.xdomainajax.js并将 js 文件包含在您的页面中。下面是我用来加载外部页面的函数。

   function test () {
     $.ajax({
       url: 'http://external_site.com',
       type: 'GET',
       success: function(res) {
         var content = $(res.responseText).text();
         alert(content);
       }
     });
   }

这对我从外部站点获取内容很有用。

参考

于 2013-08-26T08:58:17.963 回答
1

您始终可以在 PHP 中使用 CURL 从其他站点获取内容,然后您可以访问 PHP 并使用 load() JQuery 函数将其显示给该页面上的用户。假设这个文件被命名为:“gatherinfo.php”(JQuery 无法从远程站点收集信息,因为我相信它不安全(http://forum.jquery.com/topic/using-ajax-to-load-remote-url -not-working )) 所以其中一种方法是通过 PHP 来实现。

<?php
$myData = curl("http://en.wikipedia.org/wiki/Robert_Bales");
echo "$myData";

function curl($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
}
?>

但是,请确保在收集此类信息时始终引用来源。然后通过使用 JQuery,您可以调用服务器上的文件并通过执行以下操作将其显示在您想要的 div 上:

Javascript:(一旦页面准备好并加载,这将被初始化)

$(document).ready(function(){
    $("#yourDIVID").load("gatherinfo.php");
});

HTML:

<html>
<head>
<script src="yourjqueryfile.js" type="text/javascript"></script>
<script type="text/javascript">
        $(document).ready(function(){
            $("#yourDIVID").load("gatherinfo.php");
        });
</script>
</head>
<body>
<div id="yourDIVID"> The content you're grabbing would load here </div>
</body>
</html>

如果你打算这样做的话,你会这样做。

于 2013-08-26T09:09:27.283 回答
0

您可以尝试 iframe :

<iframe src="http://en.wikipedia.org/wiki/Robert_Bales" frameborder="0"></iframe>
于 2013-08-26T09:04:40.360 回答