如何将外部页面的内容作为javascript对象?

时间:2011-12-05 09:42:39

标签: javascript json fetch

所以我知道有很多方法可以将外部页面的内容作为字符串(例如使用PHP),但是有没有办法将它作为javascript / JSON对象(例如DOM Window对象)来实现,所以我可以轻松操纵它吗?我当时正在考虑与iframe合作,但与往常一样,同样的原始政策也适用。我觉得这可能不可能通过设计,但我有兴趣尝试。有没有人有这个创意解决方案?我不想使用闪光灯或闪光灯(因为iPhone问题)。

3 个答案:

答案 0 :(得分:2)

唯一方式是通过您的服务器。公开一些AJAX方法以获取外部网页(或一个特定的网页),让服务器完成工作,而不是客户端。

<强>加了:

对于PHP,你可以这样做:

  1. 创建文件getremotecontent.php
  2. 使用file_get_contents获取所需的URL(在PHP文件中):

    $pagestr = file_get_contents('http://www.example.com/');
    
  3. 使用json_encode将生成的字符串编码为JSON对象。

    $pagejson = json_encode($pagestr);
    
  4. 接下来,发送相应的标题:

    header('Cache-Control: no-cache, must-revalidate');
    header('Content-type: application/json; charset=utf-8');
    
  5. 最后,发送编码字符串的内容:

    print $pagejson;
    
  6. 在Javascript中,向getremotecontent.php发出Ajax(XHR)请求。服务器将为您提供您的网页,将其编码为JSON格式并将其返回给您在客户端进行处理。

答案 1 :(得分:1)

没有。出于安全原因,您只能访问与运行JavaScript的域相同的域中的页面。这称为same origin policy

答案 2 :(得分:-1)

这可以使用jQuery

http://api.jquery.com/load/