Здравствуйте,
Я занимаюсь встраиванием Discourse в экземпляр MediaWiki и столкнулся с необычной проблемой.
Когда я связываю страницу вики с существующей темой Discourse, всё работает как по маслу:
window.DiscourseEmbed = { discourseUrl: 'https://forum.dev.tripleperformance.fr/',|
topicId: 18};
Однако при попытке создать тему происходит сбой:
window.DiscourseEmbed = { discourseUrl: 'https://forum.dev.tripleperformance.fr/',|
discourseEmbedUrl = 'https:' + mw.config.get('wgServer') + '/wiki/' + mw.config.get('wgPageName')};
Iframe загружается первый раз со следующим содержимым:
<meta id="data-embedded" data-referer="https://wiki.dev.tripleperformance.fr/wiki/Sandbox">
Затем, через 30 секунд (из-за meta http-equiv="refresh" внутри iframe), он перезагружается со следующим содержимым:
<meta id="data-embedded" data-referer="https://forum.dev.tripleperformance.fr/embed/comments?embed_url=https%3A%2F%2Fwiki.dev.tripleperformance.fr%2Fwiki%2FSandbox">`
На этом этапе в консоли появляется ошибка:
Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://forum.dev.tripleperformance.fr') does not match the recipient window's origin ('https://wiki.dev.tripleperformance.fr').
Вероятно, это связано с тем, что referer в атрибуте data-embedded теперь указывает на самого себя, а не на родительскую страницу (что, возможно, ожидаемо, так как инициатором обновления является сам iframe).
Примечание: Я работаю на медленной машине для разработки из-за Docker и других факторов. Возможно, у меня возникает состояние гонки или что-то подобное…?