У меня есть букмарклет браузера, который загружает iframe на страницу. Затем мне нужно, чтобы iframe мог передать строку обратно в родительское окно. Страница ребенок имеет следующую функцию:Любой способ заставить postMessage работать с HTTPS?
function post(m){
parent.postMessage(m,'*');
}
Это прекрасно работает до тех пор, как на странице ребенка (одного загруженного в IFRAME) находится на HTTP. Но когда это https, postMessage не работает. Я не смог найти документацию об этом или любой способ обойти это.
Любые идеи?
EDIT:
Это происходит как на FF и Chrome (не пробовал IE). Чтобы уточнить: загрузка iframe DOES, это просто, что postMessage не выполняется. На странице HTTP все работает нормально. Код, который я использую для получения строки, приведен ниже:
function listener(event){
if (event.origin !== "http://www.mysite.com")
return
if (event.data=="string1"){function1();}
if (event.data=="string2"){function2();}
}
if (window.addEventListener){
addEventListener("message", listener, false)
} else {
attachEvent("onmessage", listener)
}
Какой браузер? Отправьте код обработчика событий сообщения с другой стороны. Вы уверены, что iframe загружается? Firefox изменился недавно, так что по умолчанию небезопасные iframe не будут загружаться в защищенном родителе. –
Привет @DG. Я обновил вопрос. – Phil