这是我想要实现的目标:
问题是我不想使用iFrame,因为那时我无法遍历加载页面的DOM。
我能想到的唯一解决方案是解析相对URL的页面,并将它们设置为绝对值。可能无处不在。另一种方法是运行wget并将所有内容(甚至图像)保存在临时文件夹中。缩小这个是不可能的。
还有其他想法吗?
答案 0 :(得分:3)
听起来像一个简单的反向代理。您的rails后端可以使用open-uri在操作中加载站点,并呈现相同的HTML。
class ProxyController < ActionController::Base
def get
require 'open-uri'
file = open params[:url]
render :inline => file.read
end
end
使用以下内容访问它:(不要忘记根据需要进行URL编码)
http://mysite.com/proxy/get?url=http://www.proxiedsite.com
您可以在呈现HTML之前进行一些解析,向页面添加您想要的任何内容,包括javascript。
我假设您将参考您代理的任何内容的使用条款。