在框架

时间:2018-03-15 23:06:04

标签: javascript iframe same-origin-policy cross-domain-policy

更新:问题只发生在使用“父”的代码中。变量。删除该代码解决了问题:

我正在尝试在iframe中展示在线实验,但是当参与者可以开始实验时,只要他们经过第一页我就会收到错误:

“未捕获DOMException:阻止具有原始”https://www.open-collector.org“的帧访问跨源帧。”

您可以在以下位置查看此示例:

https://www.open-collector.org/open-streams/rnotebook.php?html_address=https://dl.dropbox.com/s/did85omief3j48o/iframe_in_iframe.html?dl=0

Dropbox文档(https://dl.dropbox.com/s/did85omief3j48o/iframe_in_iframe.html?dl=0)所引用的实验也在https://open-collector.org

创建嵌入Dropbox文件的iframe的代码是:

<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>

我已阅读this page但我的问题涉及同一域名的内容。我也读过this page about pdfs,但我不认为它适用,因为我没有将pdf写入iframe。

我认为它开始工作,然后在iframe移动到域内的其他网页时停止,这意味着问题在于更改网页而不是域,尽管有警告?

P.S。不幸的是,有必要在一个框架内嵌入一个框架,以防万一这会加剧问题。

0 个答案:

没有答案