我需要在我的网站中显示另一个外部网站的内容。通常<iFrame>
标签可以做到这一点。但我的要求不是全部内容,只是该网站的一部分。例如,该网站的布局有3个部分,<div id="header">
,<div id="sidebar">
,<div id="content"
。我的意思是我只想显示"id=content"
部分。我该怎么做?我试过$("$my-content").load("http://www.anothersite.com #load-content")
,但不能正常工作。加载外部网站的内容
1
A
回答
6
这是由于AJAX跨域安全限制,一个诀窍是从服务器设置代理脚本 ,该代理脚本从不同站点(域)下载内容并将该代理用作JavaScript中的参考。
例子:(proxy.php)
<?php
$url = 'http://www.anothersite.com';
$htm = file_get_contents($url);
echo $htm;
?>
然后在你的脚本,而不是:
$("$my-content").load("http://www.anothersite.com #load-content");
使用代理:
$("$my-content").load("proxy.php #load-content");
0
最直接的(和跨浏览器)方式是编写一个服务器端程序(使用PHP或Perl),它位于服务器上,并且在本地调用,然后从远程站点获取所需内容。
如果你的控制下有外域,有办法用直接的javascript来做,但前者更容易。
0
设置您的AJAX请求来命中加载内容(即curl)的PHP脚本并将其作为AJAX的xhr响应返回。例如,可以根据目标元素的ID来加载AJAX响应(在您的情况下为部分页面)并将其插入到当前页面中。
看到这个问题,它几乎您的问题: https://stackoverflow.com/questions/3928228/php-and-curl-get-ajax-data
JavaScript库像jQuery需要花费很多的麻烦了AJAX的:http://api.jquery.com/load
如果你还是有问题,调试带有Firebug的ajax让事情变得更容易,因为您可以看到请求发生了什么。
(如果你没有服务器端脚本,而不能编辑你的Apache配置,你有点失控运气,寿。)
相关问题
- 1. 网站并未加载全部内容
- 2. 你有访问iframe加载外部网站的内容吗?
- 3. jQuery Fancybox无法在iFrame中加载外部网站内容
- 4. 预加载外部网站内容,然后重定向
- 5. 从外部网站获取内容?
- 6. JavaScript加载的外部内容SEO
- 7. jQuery加载外部网站页面
- 8. PhoneGap:无法加载外部网站
- 9. 跟踪图像的外部网站/交通加载外部网站
- 10. 网站加载不同内容
- 11. ios从网站加载内容
- 12. 在https网站上加载http内容
- 13. HTTPS加载其他网站内容
- 14. 仅加载外部网页正文的内容
- 15. 使用AJAX加载外部内容
- 16. 在div中加载外部ajax内容
- 17. 加载图片/内容后从外部URL的内容
- 18. 网站剧院加载从某些网站或域名内容
- 19. 以编程方式滚动外部网页以加载内容
- 20. 在离子内容中加载外部网址
- 21. 从外部或内部来源加载网站的库,脚本等?
- 22. 如何显示加载屏幕,而网站内容加载
- 23. 使用curl加载外部网站的一部分?
- 24. Ionic 2:在应用程序内部加载外部内容
- 25. 通过外部网站访问一个内部网站
- 26. 使用JavaScript从外部网站抓取的内容
- 27. 如何包含来自外部网站的内容?
- 28. 来自外部网站的内容替换
- 29. 从外部获取网站内容的最佳方法
- 30. 网站内容
但不会破目标网页包含非绝对网址和相关链接时的布局? – Mori 2013-11-29 06:46:03