2010-04-26 15 views
5

Đây là những gì tôi muốn đạt được:Làm cách nào để hiển thị một trang web trên miền của riêng tôi với Ruby on Rails hoặc bất kỳ thứ gì?

  1. URL nhập người dùng (http://google.com ví dụ)
  2. GET trang, và làm cho nó trên tên miền của riêng tôi
  3. Traverse DOM (Sử dụng JS) và tất cả nhạc jazz đó

Vấn đề là tôi không muốn sử dụng iFrame, vì sau đó tôi không thể duyệt DOM của trang được tải.

Các giải pháp duy nhất tôi có thể nghĩ là phân tích trang cho URL tương đối và đặt chúng là tuyệt đối. Có thể không hoạt động ở mọi nơi. Một cách khác là chạy wget và lưu mọi thứ (ngay cả hình ảnh) trong một thư mục tạm thời. Mở rộng quy mô này sẽ là không thể.

Bất kỳ ý tưởng nào khác?

+3

Bạn đang cố gắng làm gì? Đánh cắp trang web của người khác để hiển thị quảng cáo của riêng bạn hoặc gì? Bạn nhận ra rằng câu hỏi của bạn có vẻ khá râm, phải không? – jdl

+1

Tôi thực sự đang tạo công cụ cho chủ sở hữu trang web để thêm plugin cho trang web của họ mà không thực sự xâm nhập vào mã. Những gì tôi muốn làm là biết phần tử DOM mà họ muốn plugin có thể đính kèm, mà không thực sự đưa nó vào mã. Tất cả những gì họ cần là một dòng mã javascript nhanh, một mã API và chúng tôi sẽ kết hợp trang với các phần tử phần tử dom của chúng tôi mà anh/cô ấy muốn plugin hoạt động. Nó không râm chút nào! geeze. – kineticac

Trả lời

3

Có vẻ như một proxy ngược đơn giản. Rails của bạn back-end có thể sử dụng open-uri để tải một trang web trong một hành động và hiển thị cùng một HTML.

class ProxyController < ActionController::Base 

    def get 
    require 'open-uri' 
    file = open params[:url] 
    render :inline => file.read 
    end 

end 

Tiếp cận này sử dụng một cái gì đó như: (đừng quên URL mã hóa khi cần thiết)

http://mysite.com/proxy/get?url=http://www.proxiedsite.com 

Bạn có thể làm một số phân tích trước khi render HTML, thêm bất cứ điều gì bạn muốn trang, bao gồm javascript.

Tôi giả sử bạn sẽ tham khảo các điều khoản sử dụng cho bất kỳ nội dung nào bạn đang ủy quyền.

Các vấn đề liên quan