Une chose curieuse est arrivée aujourd'hui tester un site web que je développe: J'essayais d'avoir accès à des éléments à l'intérieur d'un iframe avec jquery, et à ma grande surprise pour y accéder et les modifier. La surprise est que l'iframe n'est pas sur le même domaine, donc je n'étais pas supposé pouvoir le faire pour "la même politique d'origine" (ou je me trompe?). Cela ne peut être fait qu'après avoir "inspecté" l'élément iframe avec le navigateur (chrome dans ce cas). Si plus tard j'inspecte tout élément du site qui n'est pas dans l'iframe, alors je perds cette superpuissance et j'obtiens le résultat attendu, c'est-à-dire que jquery n'est pas autorisé à accéder à cause de la même politique d'origine.Accéder au contenu iframe avec jquery après l'avoir inspecté avec le navigateur
Les questions: 1.- Est-ce censé se produire? 2.- Y a-t-il un moyen de l'empêcher si cela peut impliquer des risques de sécurité? Si ce 3.- est supposé arriver et est sûr, comment puis-je JQuery « simuler » le navigateur « inspection » pour que je puisse avoir accès à des éléments iframes et les modifier
Étiez-vous le jquery dans la console? –
Oui, le test décrit provient de la console de chrome – Roberto
Dans la console, vous pouvez sélectionner le niveau d'image dans lequel vous souhaitez exécuter votre javascript. Vous pouvez donc exécuter jQuery dans n'importe quel cadre de la page, quelle que soit l'origine. Si vous êtes sûr que vous avez exécuté le javascript dans le cadre * top * et que vous avez accédé à un iframe d'origine différent, alors ce serait inattendu (je devrais essayer de le reproduire moi-même pour rassembler plus d'informations). –