постоянная ошибка при попытке перезагрузить элемент iframe даже после перекрестного исправления - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть веб-страница со встроенным iFrame.IFrame приходит из того же домена (в данном случае localhost).

Я получаю эту ошибку:

Заблокирован фрейм с источником "http://www..com" издоступ к фрейму перекрестного происхождения.

Итак, я провел небольшое исследование и решил внедрить одно найденное «исправление».

Итак, вот как я его настроил.

На моей странице GameMedia.aspx у меня есть этот javascript:

<script src="scripts/avatarManager.js"></script>

И у меня есть этот iFrame в HTML:

<div id="monsterGallery">
     <iframe id="avatarList" src="monsterList.aspx?gameID=<%=gameID%>"></iframe>
</div>

В avatarManager.js у меня естьthis:

var frame = document.getElementById('avatarList');

frame.contentWindow.postMessage("avatarManager-reload-iframe", '*');

window.addEventListener('message', function (event) {
    if (event.data === "avatarManager-reload-iframe") {
        updateAvatarList();
    }
});

function updateAvatarList() {
    document.getElementById("avatarList").contentDocument.location.reload(true);
}

Теперь я получаю эту ошибку в avatarManager.js:

Uncaught TypeError: Невозможно прочитать свойство 'contentWindow' из null

в этой строке:

frame.contentWindow.postMessage("avatarManager-reload-iframe", '*');

Я не совсем уверен, почему это происходит. Я устанавливаю "var frame" равным моему элементу iFrame.

Есть ли что-нибудь, что я 'м отсутствует?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...