将外部div或ul加载到自己的网页 - 来自google / yahoo / facebook

时间:2012-04-22 20:27:54

标签: php jquery include


如果你知道div或ul中的页面和id,是否可以从另一个/外部页面(例如google facebook yahoo ...)获取div或ul中的内容?

如果你使用php - include,你将包括整个页面......(太多) 使用jquery .load(),我想这是可能的。只有我认为它很慢,它只适用于来自同一域名的网页(不是雅虎.bbc ....)

有人能帮助我吗?或者有更多的经验吗?
亲切的问候

4 个答案:

答案 0 :(得分:3)

在网站的根目录下创建一个名为x-request.php的php文件,并将以下PHP代码放入其中。

<?php
    echo file_get_contents('http://' . $_GET['url']);
?>

在要显示内容的文件中添加以下JavaScript:

$(function(){

    $('#selector').load('/x-request.php?url=google.com #container');

});

使用相关地址替换#selector#container,并使用相关地址替换google.com

php文件将获得整个页面。对php页面的jQuery请求只会获得指定的id(在我的示例中为#container)。

有关详细信息,请参阅:查看http://api.jquery.com/load/

答案 1 :(得分:1)

也许这不是您想要的,但有一种方法可以进行跨域GET请求。 http://james.padolsey.com/javascript/cross-domain-requests-with-jquery/

你可能不得不进行解析,我不确定。昨晚我正在玩它,我可以在我的本地页面加载google.com页面哈哈。

然而,我认为最好去google,yahoo,facebook等的API文档,以便为你提供更好的东西。

答案 2 :(得分:0)

您无法请求网页的特定部分。 HTTP协议不允许这样做 - 最多可以请求特定范围的字节,但是您需要确切地知道所需div的位置,以及它有多大。

您必须获取整个页面,使用dom操作提取相关部分,然后插入。这不能通过Javascript工作,因为你不能轻易地在JS中做第三方请求。这必须是服务器端操作。

答案 3 :(得分:0)

您可以使用PHP中的DOMDocument class加载和操作任何HTML内容,这应该非常快......