我正在尝试将多个外部网站嵌入到一个网页中。使用 IFRAME 可以,但是一旦超过 10 个嵌入式 iframe,内存指纹就会开始变得太大。
所以我在想,是否有可能通过 ajax/javascript,重新使用同一个 iframe 一个接一个地加载网站集合,并将结果显示在主网页上的 div 中?还是出于安全原因明确阻止?
编辑:我不想走屏幕抓取路线,因为我打算把它变成一个半公开的网站,我不想在我的服务器上占用所有带宽,而宁愿在客户端上完成,如果可能的话。
我正在尝试将多个外部网站嵌入到一个网页中。使用 IFRAME 可以,但是一旦超过 10 个嵌入式 iframe,内存指纹就会开始变得太大。
所以我在想,是否有可能通过 ajax/javascript,重新使用同一个 iframe 一个接一个地加载网站集合,并将结果显示在主网页上的 div 中?还是出于安全原因明确阻止?
编辑:我不想走屏幕抓取路线,因为我打算把它变成一个半公开的网站,我不想在我的服务器上占用所有带宽,而宁愿在客户端上完成,如果可能的话。
你正试图用锤子把螺丝钉在墙上。也许有些人会去,但不会很漂亮。您最好的选择是屏幕抓取工具或网络服务,以便从外部站点检索数据。也许包括有关情况的更多详细信息,例如您自己的外部站点。他们是否提供您所追求的内容联合。您是否可以使用离线服务,以便您可以使用这些内容?
我同意 Ty 关于屏幕抓取方向的看法。您可以使用 weblient 对象 - 它有一个 DownloadString() 方法,该方法从特定 url 获取 HTML 字符串。
如果您担心服务器上的带宽,您可以进行屏幕抓取(基本上通过 http 请求拉下 html)然后将其存储在 .net 缓存中吗?即使您将每个站点的 html 存储在缓存中 15 分钟,您也只能每小时提取 4 次该信息。您仍然需要将该 html 推送到客户端,但您至少可以在发送之前使用 gzip 对其进行压缩。