我试图在我的Rails应用程序中构建一个镜像,该应用程序镜像外部站点上的页面。所以基本上,不是链接到外部页面,外部页面将在我的视图中显示。
有没有办法在不使用iFrame的情况下执行此操作,或者这是唯一的方法吗?
答案 0 :(得分:4)
您可以使用Javascript从外部网站加载内容,并在视图中显示该内容。
以下是代码:
<script>
$("#externalSiteContent").load("http://www.example.com/index.html");
</script>
<div id="externalSiteContent"></div>
答案 1 :(得分:2)
这是一种全铁路方式:
class YahooController < ApplicationController
layout false
def show
url = URI.parse('http://www.yahoo.com/')
req = Net::HTTP::Get.new(url.to_s)
res = Net::HTTP.start(url.host, url.port) {|http|
http.request(req)
}
@body = res.body
end
end
在视图中
# views/yahoo/show.html.haml
= @body.html_safe
当然,你需要一条路线。
# routes.rb
get '/yahoo', :to => 'yahoo#show'