Nasıl başka bir web sitesinde başka bir web sayfasına bir web sayfasının sonucu gömebilirsiniz?

3 Cevap php

Kullanıcıların içinde html içeriğe sahip bir 'div' döndüren bir hizmet olarak raylar app benim yakut aramak için izin ister ve bunların uygulaması (raylar uygulama olmayacak olan) içine div embed olacaktır.

Örneğin, birisi işlenen alır bir üstbilgi / altbilgi şablon var, kendi php web sitesi var varsayalım, ve onlar benim raylar app oluşturmak bazı html dayalı doldurmak için gereken sayfanın bir içerik alanı. Ben, php gelen, onları izin web siteme aramak için, ben oluşturmak 'div' olsun istiyorum, ve embed olacağını onların php sayfasında html gibi.

Ne yapmaya çalışıyorum html içeriği döndürür sitemde bir hizmet barındırmak, ancak son kullanıcı sadece diğer siteyi görür ve asla gerçekten benim bilir ki aslında, başka bir sitenin parçası olarak bu içeriği göstermek olduğunu.

Ayrıca, bu tek yolu ise bunu yapmak için istemci üzerinde javascript kullanabilirsiniz, ancak bu istemci özgün sunucudan gömülü html alır ve bunun gibi görünüyor mümkünse ben sunucuda bu işlemek için php app tercih ederim tüm sayfanın tamamını oluşturulan php komut dosyası tarafından oluşturulan. Ben de bir iframe kullanarak önlemek istiyor.

Bu mümkün mü?

3 Cevap

Eğer verilerin çapraz etki istek yapmak gerekir, ve sadece bir iframe kullanamazsınız varsayarsak, JS sarılmış html getirmek için JSONP kullanarak deneyebilirsiniz.

Ne aslında yapmak arıyorsanız çok sınırlı bir sığınakta API uygulamak olduğunu. Eğer erişimi olması gereken tek iseniz, aynı zamanda istekte doğrulamak için Rails app için bir 'sır' parametre geçirerek gibi temel güvenlik çeşit uygulamak gerekir. Basitçe (Rayları 2.3.x in) bu gibi Rails Uygulama şey bir rota sağlamak:

map.connect '/php/embed', :controller => 'some_controller', :action => 'embed'

Sonra denetleyicisi:

class SomeController < ApplicationController
  before_filter :verify_authenticity
  def embed
    render :partial => "some_rails_partial", :layout => false
  end

  protected

  def verify_authenticity
    render(:text => 'Unauthorized', :status => 401) unless params[:secret] == 'somesecretkey'
  end
end

Sonra, PHP app, sadece http://your.railsapp.com/php/embed?secret=somesecretkey de URL içeriğini indirmek için bir çağrı yapmak gerekir.

Evet mümkün. Kolay yolu bu gömülü bölümü kısmi yapılır.

Sizin eylem yeni bir eylem ya da bir parametresini ekleyin. Algılayabilir zaman bir hale gömülü sadece kısmi bulunuyor

render :partial => 'my_embedded'