@Apexis

Как повесить событие на элемент в iframe c одного домена?

На странице iframe, домен общий. У iframe стоит sandbox="allow-same-origin". Пытаюсь повесить событие
<iframe id="page" src="/" sandbox="allow-same-origin"></iframe>
document.getElementById("page").onload = function() {
	editor = this.contentWindow.document;
        editor.addEventListener("contextmenu", function(e) {
          //тут код события
        });
}


В firefox событие срабатывает, в chrome - нет (Blocked script execution in '' because the document's frame is sandboxed and the 'allow-scripts' permission is not set.). Allow-scripts не могу поставить, нужно отключить скрипты в iframe.
  • Вопрос задан
  • 173 просмотра
Пригласить эксперта
Ответы на вопрос 1
zxscv
@zxscv
Как я понимаю, есть разница в реализации sandbox у ФФ и хрома.
ФФ игнорирует отсутствие разрешения Allow-scripts ввиду того что вызов js происходит из родительского окошка, а событие contextmenu возникает в любом случае, у хрома запрет более глобальный. Видимо решить задачу в лоб невозможно и лучше не ориентироваться на якобы работающее решение в ФФ так как в любое время это может измениться.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы