Итак, у меня есть страница на DomainA, и, используя расширение Chrome, я внедряю некоторый javascript, который вставляет iframe, который указывает на DomainB.
$("body").append("<iframe id='someFrame' src='http://www.domainB.com' width='300' height='800'></iframe>");
Я также внедряю некоторый javascript в DomainA, который пытается получить содержимое окна iframe. Я хочу использовать API postMessage HTML5 на нем.
$("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", "*");
});
Однако свойство contentWindow не определено. Почему это так, и как я могу обойти это? Если я добавлю этот код расширения на веб-страницу, он будет работать сам по себе.
Спасибо!
(простите за дерьмовый jquery / javascript)