Comment obtenir l'accès à partir de cross-site popup de la fenêtre.ouvreur?
J'ai de faire un widget et j'ai besoin de rediriger un parent de la fenêtre à certaines url, après un événement précis dans le popup, quelle base sur un autre domaine. Comment un pouvez le faire.
window.opener.location.replace(url);
- dangereux javascript tentative d'accès à une image avec l'url ))
- Cela sonne comme la croix-domaine de script qui va être empêché par des limitations de la sécurité; ou je peux lire correctement la question?
- Je veux kmow, puis-je résoudre ces limitations.
- Étrangement, ça fonctionne pour moi sous Firefox. Quel navigateur utilisez-vous?
Vous devez vous connecter pour publier un commentaire.
Vous juste ne peut pas le faire. Le Cross-site scripting n'est pas autorisé dans la plupart des navigateurs.
Toutefois, vous pouvez communiquer avec l'autre fenêtre via la messagerie inter-document décrit ici: https://developer.mozilla.org/en/DOM/window.postMessage
Le plus vous pouvez faire est d'envoyer un message à partir de la popup à l'ouverture et écoute d'un tel message dans le premier match. L'ouvreur doit alors changer son emplacement sur son propre.
window.opener
lui-même de retourner la valeur null dans mon cas.. Alors comment vais-je poster le message.Dans certaines situations, il est possible de le faire, mais seulement avec les différents sous-domaines, pas de domaines totalement différents. Voir Cross site scripting sur le même domaine, les différents sous-domaines.
Mais depuis
postMessage()
est largement disponible dans les navigateurs actuels, vous devez toujours préférerpostMessage()
, comme @ian-kuca suggère.