2010-04-13 5 views
1

J'ai jQuery thickbox(TB_iframe=true) qui affiche une page https dans une superposition basée sur iframe.impossible de fermer la boîte aux lettres jrery iframe lorsque la page est https

la page parent est http & la page de recouvrement est https. si j'utilise

self.parent.tb_remove() 

Cela ne fonctionne pas et me donne

Permission refusée à <https://www.abc.com> pour obtenir la propriété de Window.tb_remove<http://www.abc.com>.

Toute solution. Je veux être en mesure de fermer le thikbox indépendamment de savoir si c'est https ou http page qu'il affiche dans un iframe.

+0

est la page que vous affichez dans le iframe dans le même domaine comme la page que vous avez ouvert la lightbox lightbox? –

+0

oui, c'est le même domaine.Mais comme http et https s'exécutent sur des ports différents, il prend comme domaines différents. – Sourabh

Répondre

0

utilisez une URL relationnelle comme ../page.html au lieu de http://domain.com/page.htm comme lien. vérifiez que la page d'ouverture de la lightbox lightbox est dans le même domaine que la page affichée dans le cadre lumineux.

i a écrit une fonction javascript pour créer et ouvrir un cadre similaire à la lumière Thickbox, peut-être vous aidera jLightFrame

0

Comme dit Daniel, vous devez utiliser une URL relative. La raison pour laquelle il échoue est que vous devez uniquement lire du contenu javascript au même niveau de "confiance" (ssl) que celui sur lequel vous êtes actuellement.

Vous ne souhaitez pas que le site HTTPS de votre banque effectue une requête ajax sur un service Web autre que https?

1

Vous avez besoin d'un iFrame pour communiquer. Cependant, vous voudrez qu'il soit verrouillé très fort pour empêcher XSS.

Créez une deuxième page, par exemple http://www.abc.com/thickboxClose. Cette page contient javascript qui ferme la thickbox. Par exemple, window.parent.parent.tb_remove(). Puis, pour fermer votre iframe, vous créez un iFrame caché pointant vers cette page. Comme il est sur le même domaine, il peut atteindre le parent.

-2

Essayez cette

De l'iframe

<a href="http://www.abc.com" target="_parent">Close</a> 

Essayer cela avec toute sorte de javsacript est juste va être un hack

Questions connexes