在iframe中重新呈现网站?

时间:2009-09-07 02:58:36

标签: iframe refactoring automated-refactoring

我想创建一个网站,用户可以在iframe中基本上浏览网页。问题是,我希望能够更好地控制iframe中呈现的内容。具体地,

  • 我希望能够过滤掉图片或文字,禁用表单等。
  • 我也希望能够收集反馈,例如用户点击的链接。

问题1:

甚至可以使用标准的后端脚本语言(如php),在前端使用html和javascript吗?

问题2:

我首先需要在渲染之前抓取网站的源代码,然后进行必要的操作,最后以某种方式重新渲染它吗?

问题3:

有人可以解释一下这里会发生的编程流程(假设可能)吗?

2 个答案:

答案 0 :(得分:1)

我认为您可能希望在呈现之前获取网站的源代码(使用服务器端代码)。如果您尝试使用JavaScript,则可能会遇到跨站点脚本问题。您的iframe将加载像render.php这样的页面并传递页面的地址以呈现查询字符串参数。然后使用正则表达式在HTML中查找render.php从地址下载的元素。根据需要重写HTML,然后将其全部写入iframe。

重写链接,以便用户进入您控制的页面并重定向到目标站点,如果您想要跟踪人们的去向。示例:页面中的链接需要转到google.com。您可以将它们发送到tracker.php?target = http://google.com。您可以控制tracker.php,并可以记录此页面的每个负载,然后将用户重定向到目标站点。

更新:

另一种可能的解决方案是使用Apache或其他服务器代理目标网站。有像mod_proxy这样的模块。可能还有一些模块可以让你解析HTML,或者你可以自己动手。

我应该指出,如果您无法完全控制目标网站,即使是针对您的问题提供的最佳解决方案也会有些脆弱。您需要进行大量的错误处理或警报。

答案 1 :(得分:0)

您可以查看this。它非常好地使用iFrame,甚至可以使用它拥有的库。