【问题标题】:How to cache another site iframe? [closed]如何缓存另一个站点 iframe? [关闭]
【发布时间】:2016-02-06 05:32:22
【问题描述】:

我的网站从另一个网站加载 iframe。我想缓存这个 iframe 而不是加载缓存副本。

不幸的是我不能使用 nginx,这就是为什么我很感兴趣如何使用 php / js / ajax / xml 或其他东西来缓存 iframe。

可能是这样的:

 - create iframe.php file on server with loading another site iframe
 - iframe.php load iframe first time, than cache it
 - include iframe.php where I need (but I don't 
understand how to save all native header information of another site) 

所有这些我需要从另一个网站加载标题信息,但我不能多次这样做,并且需要加载一次而不是为新用户显示缓存。

感谢您的帮助!

【问题讨论】:

    标签: javascript php jquery caching iframe


    【解决方案1】:

    在客户端,您不能影响第三方页面导航器的缓存行为。

    如果你想在服务器端缓存页面,服务器端脚本必须获取页面并缓存它。您的 iframe 必须加载此脚本。

    我希望我回答了你的问题。不幸的是,我不太清楚。

    【讨论】:

      【解决方案2】:

      file_get_contents() 呢? 保存为 .html 到您的主机帐户,然后在 iframe 中加载。

      【讨论】:

      • 请记住,当您使用 iFrames 时,您的页面会先呈现,然后 iFrame 页面才会加载,因此您的用户总是能看到一些东西。如果您通过file_get_contents() 加载一个沉重的页面,您的页面将在内容完全加载之前不会呈现,如果他们的服务器/网络/脚本很慢,那么您的用户将会受到影响,因为您的页面不会渲染直到 PHP 完成。
      • 我的意思是,在服务器中保存为缓存/静态文件,然后在 iframe 中加载。使用 cron 自动更新此文件。
      • 检查了 $homepage = file_get_contents('https://other-site.com'); echo $homepage; - 工作正常,但不保存任何标题信息,如 cookie 和其他
      • 是的,一个 cron 任务可以解决问题。但是,图像和脚本呢?如果第三方站点上的图像具有相对 URL (../images/1.png),则当您使用 HTML 注入 iFrame 时,它​​们将不会加载,因为图像路径与他们的服务器相关,而不是您的。 @RastWishes - 确保您正确获取所有图像/css/javascript。
      • @RastWishes:您还必须考虑内容所有者可能会阻止您的 IP 以抓取他们的数据。他们也可能对从他们那里窃取的流量不太高兴。使用实时 iFrame,第三方所有者可以在您的一页视图中获得一页视图。如果您抓取他们的数据以填充您自己的 iFrame,他们不会获得任何页面浏览量,但您很乐意窃取并在您的网站上展示他们的创意作品。如果你在抓取我的内容,而你在捏造流量,我会缝制你。使用此建议时需要考虑很多因素。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-14
      • 2012-03-13
      • 1970-01-01
      • 2012-03-29
      • 1970-01-01
      • 2012-03-13
      相关资源
      最近更新 更多