Donc, j'ai une page sur DomainA, et, en utilisant une extension Chrome, j'injecte du javascript qui insère un iframe qui pointe vers DomainB.Pourquoi mon extension Chrome ne peut-elle pas utiliser HTML5 postMessage pour communiquer avec une image que j'injecte?
$("body").append("<iframe id='someFrame' src='http://www.domainB.com' width='300' height='800'></iframe>");
J'injectent également un javascript dans DomaineA qui tente d'obtenir contentWindow du iframe. Je souhaite utiliser l'API HTML5 postMessage.
$("body").append("<a class='myLink'>Post Message</a>");
$(".myLink").click(function(){
var frameElem = document.getElementById("someFrame");
console.log("frameElem: " + frameElem); //succeeds
var contentWin = frameElem.contentWindow;
console.log("contentWin : " + contentWin); //undefined
//can't do this since contentWin is undefined:
//contentWin.postMessage("data", "*");
});
Toutefois, la propriété contentWindow n'est pas définie. Pourquoi est-ce, et comment puis-je contourner? Si je mets ce code d'extension dans une page Web cela fonctionnera bien par lui-même.
Merci!
(pardonnez le merdiques jquery/javascript)
Êtes-vous juste essayer de faire une demande de domaine croix? Ou vous avez besoin de ces iframes? – serg
J'ai besoin de l'iframe pour afficher le contenu sur un autre serveur. – Newtang