2009-09-01 8 views
13

J'essaie d'accéder et de modifier le contenu d'un iframe. L'iframe pointe vers une page sur un sous-domaine sur mon propre domaine. C'est le code javascript que j'utilise, même si cela n'a pas vraiment d'importance. Lorsque je l'exécute, il est indiqué que je n'ai pas l'autorisation d'accéder à www.domaine.com par example.domain.com. Alors est-ce important si le domaine auquel j'essaie d'accéder a le www? Parce que mon hôte ne me permet pas de ne pas utiliser www.Puis-je accéder au contenu d'un iframe à partir d'un sous-domaine si j'utilise www. sur le domaine principal?

Répondre

21

Same-Origin-Policy requiert le même nom d'hôte par défaut.

pour lui dire de ne pas, définir: (www.)

document.domain= 'domain.com'; 

de script dans le parent document et l'iframe (. Par exemple) document. Notez que la définition d'un chargement d'un iframe (ou d'une image) statiquement écrit à partir d'un script n'est pas fiable, car il est concevable que iframe soit complètement chargé entre le moment où l'analyseur lit la balise iframe et quand il lit le balise de script qui définit l'onload. Pour éviter cela, incluez le gestionnaire d'événement comme attribut '< iframe onload = "doSomething()"' (l'un des rares endroits où la gestion des événements en ligne a un but) ou, si cela est acceptable pour l'accessibilité, créer l'élément iframe lui-même à partir du script, en définissant l'onload avant d'écrire le src et en l'ajoutant à la page.

+0

Est-ce que cela permet au sous-domaine d'accéder aux cookies du domaine? – fent

+1

En lisant 'window.parent.document.cookie', oui. L'envoi et la réception de cookies par le paramètre de cookie 'domain' ne sont cependant pas affectés par document.domain. – bobince

Questions connexes