У меня есть сценарий Greasemonkey, который должен отправлять postmessage во встроенный iframe, где тот же скрипт запускает функцию. Мое внимание направлено на легкое сообщение для запуска функции внутри iframe. Веб-сайт и iframe не находятся в одном домене. Мои навыки js довольно плохие, и я не могу найти проблему.Использование postmessage для связи с iframe - где ошибка?
Thx для чтения
// ==UserScript==
// @name Test
// @namespace
// @include domainA
// @include domainB
// @version 1
// @grant none
// ==/UserScript==
if ("domainA" === location.hostname)
{
if (window === top) // prevents the script from running twice on domain A
{
window.setTimeout(delay, 15000);
function delay()
{
console.log("Delay");
document.getElementsByTagName("Iframe")[0].contentWindow.postMessage('message', 'domainB'); //The issue is probably here
}
}
}
else // domain B
{
window.onmessage = function() // or here
{
console.log("Done"); // Didnt start
}
}
редактирование: И с помощью Firefox
Что вы используете для этого аргумента 'postMessage'? Это доменное имя или URL-адрес? Параметр origin должен быть 'http: // some.domain.com' (или подобным), а не' some.domain.com'. – Jacob
Я использую 'https: // domain.com' –