0

Ich versuche, einige Seiten von meiner Website www.drewgl.com zu stumbleupon hinzuzufügen. Es ist sehr abhängig von Javascript. Wenn ich meine Seite durch stumbleupon ansehe, wird das Javascript blockiert. Genauer gesagt sehe ich den Fehler:Site blockiert Javascript in StumbleUpon Iframe

Uncaught SecurityError: Blocked a frame with origin " http://www.drewgl.com " from accessing a frame with origin " http://www.stumbleupon.com ". Protocols, domains, and ports must match

Ich verwende Schienen 4 auf Heroku eingesetzt. Ich habe meine X-Frame-Optionen eingestellt, um alle zuzulassen. Ich lese die Antworten hier durch: SecurityError: Blocked a frame with origin from accessing a cross-origin frame und es scheint, als ob die einzige Möglichkeit, um dieses Problem zu umgehen, ist, window.postmessage zu verwenden, um Nachrichten zwischen den zwei Seiten zu senden. Um dies zu tun, müssen Sie jedoch beide Seiten besitzen.

Natürlich kann diese Bedingung nicht mit Stumbleupon erfüllt werden, also wie kann ich das Problem umgehen?

Edit: Ich habe gerade die Symbolleiste StumbleUpon für Chrome heruntergeladen. Danach bekomme ich die obige Fehlermeldung nicht mehr. Wie auch immer, ich möchte dieses Problem immer noch für Stolperer beheben, die die Symbolleiste nicht haben.

Antwort

0

Ich habe es herausgefunden. Wenn jemand neugierig ist, dürfen Sie nicht innerhalb eines Iframes auf den aktuellen Pfad zugreifen. Dieser Block des Codes verursachte das Problem:

//  if (top.location.pathname === '/users/sign_in') 
// { 
//  $('#login').modal('show'); 
// } 
1

Rails App nicht geladen auf StumbleUpon? Fügen Sie diese auf Ihrem Application

before_action :allow_iframe_requests 

private 

    def allow_iframe_requests 
    response.headers.delete('X-Frame-Options') 
    end 

https://github.com/rails/rails/issues/6311