所以我知道有很多方法可以将外部页面的内容作为字符串获取(例如使用 PHP),但是有没有办法将其作为 javascript/JSON 对象(例如 DOM Window 对象)获取,所以我能轻易操纵它吗?我在想也许可以使用 iframe,但一如既往,同源政策适用。我觉得这可能无法通过设计实现,但我有兴趣尝试一下。有没有人对此有创造性的解决方案?我不想使用闪光灯或 sliverlight(因为 iPhone 问题)。
最佳答案
唯一的方法是通过您的服务器。公开一些 AJAX 方法以获取外部网页(或一个特定网页),并让服务器代替客户端完成这项工作。
添加:
对于PHP,你可以这样做:
- 创建文件
getremotecontent.php
使用
file_get_contents
获取您想要的 URL(在 PHP 文件中):$pagestr = file_get_contents('http://www.example.com/');
使用
json_encode
将结果字符串编码为 JSON 对象。$pagejson = json_encode($pagestr);
接下来,发送适当的 header :
header('Cache-Control: no-cache, must-revalidate'); header('Content-type: application/json; charset=utf-8');
最后发送编码后的字符串内容:
print $pagejson;
在 Javascript 中,向
getremotecontent.php
发出 Ajax (XHR) 请求。服务器将获取您的网页,将其编码为 JSON 格式并将其返回给您在客户端进行处理。
关于javascript - 如何获取外部页面的内容作为javascript对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8383381/