无法访问同一主机的iframe内容

时间:2016-07-30 13:30:40

标签: javascript firefox pdf iframe same-origin-policy

我有一个显示嵌入其中的pdf文件的iframe,我无法访问iframe元素内容。

<iframe id="testIFrame" src="http://localhost:8080/myproject/pdf/sample.pdf" width="800" onload="test(this)"></iframe>

firebug控制台中的以下代码,

var iframe = document.getElementById('testIFrame');
var innerDoc = iframe.contentDocument || iframe.contentWindow.document;
console.log("Iframe Document"+innerDoc);

给我错误,

Error: Permission denied to access property "document"

当我将图像文件作为URL时,可以访问相同的iframe。仅针对pdf文件发生跨域错误。我该如何解决这个问题?

编辑:

我拥有此iframe的网址为http://localhost:8080/myproject,iframe源指向http://localhost:8080/myproject/pdf/sample.pdf。我可以在Firebug Net面板中看到pdf请求有

  

协议 - http

     

域名 - localhost:8080

     

RemoteIP - [::1]:8080

     

请求标头包含引用网址http://localhost:8080/denso/

我是否遗漏了同源政策中的内容?

原因是,只有FF显示工具栏下载,打印等嵌入iframe的pdf文件,可以通过在pdf网址末尾添加参数#toolbar=0来禁用它。如果我可以访问iframe内容,我可以使用基于此链接的css隐藏工具栏

https://support.mozilla.org/en-US/questions/1119523

0 个答案:

没有答案