ОБНОВЛЕНИЕ: проблема возникает только в коде, который использует «родительский». переменные. Удаление этого кода устранило проблему:
Я пытаюсь представить онлайн-эксперимент в iframe, но пока участник может начать эксперимент, как только он проходит первую страницу, я получаю сообщение об ошибке:
"Uncaught DOMException: заблокирован фрейм с источником "https://www.open-collector.org" от доступа к кадру из другого источника».
Вы можете увидеть пример этого по адресу:
Эксперимент, в котором документ Dropbox (https://dl.dropbox.com/s/did85omief3j48o/iframe_in_iframe.html?dl=0) также находится на https://open-collector.org
Код для создания iframe, который встраивает файл dropbox:
<iframe id='notebook_iframe'></iframe>
<script>
$.get("https://dl.dropbox.com/s/did85omief3j48o/iframe_in_iframe.html?dl=0", function(html_data){
page_content.html = html_data;
var doc = document.getElementById('notebook_iframe').contentWindow.document;
doc.open();
doc.write(html_data);
doc.close();
});
</script>
И код в файле dropbox:
<iframe id='experiment_1' src='https://www.open-collector.org/badger/sqlExperiment.php?experiment_id=RPDTXczwd6HU5FyG|55&participant=preview' style='width:800px; height:800px'></iframe>
Я прочитал эту страницу но мой вопрос касается контента, который находится в том же домене. Я также прочитал эту страницу о pdfs, но я не думаю, что это применимо, поскольку я не записываю pdf в iframe.
Я думаю, что тот факт, что он начинает работать, а затем останавливается, когда iframe переходит на другую веб-страницу в домене, означает, что проблема связана со сменой страниц, а не домена, несмотря на предупреждение?
p.s. К сожалению, необходимо встроить фрейм в фрейм, если это усугубляет проблему.