0

J'essaye d'ajouter quelques pages de mon site www.drewgl.com à stumbleupon. C'est très dépendant de javascript. Quand je vois mon site à travers stumbleupon le javascript est bloqué. Spécifiquement, je vois l'erreur:Site bloque dans 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

J'utilise des rails 4 déployés à heroku. J'ai mes options X-frame définies pour permettre à tous. J'ai lu les réponses ici: SecurityError: Blocked a frame with origin from accessing a cross-origin frame et il semble que la seule façon de contourner ce problème est d'utiliser window.postmessage pour envoyer des messages entre les deux pages. Pour ce faire, cependant, vous devez posséder les deux pages.

Bien sûr, cette condition ne peut pas être satisfaite avec Stumbleupon, alors comment puis-je contourner le problème?

Editer: Je viens de télécharger la barre d'outils de stumbleupon pour chrome. Après cela, je ne reçois plus le message d'erreur ci-dessus. De toute façon je voudrais toujours résoudre ce problème pour les stumblers qui n'ont pas la barre d'outils.

Répondre

0

Compris. Si quelqu'un est curieux, vous n'êtes pas autorisé à accéder au chemin actuel depuis un iframe. Ce morceau de code était à l'origine du problème:

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

L'application Rails ne se charge pas sur StumbleUpon? Ajoutez ceci à votre ApplicationController

before_action :allow_iframe_requests 

private 

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

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