在获取从iframe调用的页面高度时出现非常奇怪的错误。我去了thogleh谷歌并检查了其他Stackoverflow帖子相关的“权限被拒绝访问属性文档”但尚未找到任何解决方案。我有一个指向另一台服务器的网站。我在Iframe上收到此错误。我来提供代码
Jquery
$(document).ready(function()
{
// Set specific variable to represent all iframe tags.
var iFrames = document.getElementsByTagName('iframe');
// Resize heights.
function iResize()
{
// Iterate through all iframes in the page.
for (var i = 0, j = iFrames.length; i < j; i++)
{
// Set inline style to equal the body height of the iframed content.
iFrames[i].style.height = iFrames[i].contentWindow.document.body.offsetHeight + 'px';
}
}
// Check if browser is Safari or Opera.
if ($.browser.safari || $.browser.opera)
{
// Start timer when loaded.
$('iframe').load(function()
{
setTimeout(iResize, 0);
}
);
// Safari and Opera need a kick-start.
for (var i = 0, j = iFrames.length; i < j; i++)
{
var iSource = iFrames[i].src;
iFrames[i].src = '';
iFrames[i].src = iSource;
}
}
else
{
// For other good browsers.
$('iframe').load(function()
{
// Set inline style to equal the body height of the iframed content.
this.style.height = this.contentWindow.document.body.offsetHeight + 'px';
}
);
}
}
);
和IFrame
<iframe style="margin-bottom: 16px;" src="ourteamnav/first.php" frameborder="0" scrolling="no" width="597" height="240"></iframe>
我收到了“权限被拒绝访问属性文档”错误,因此高度不会根据其中的文档高度而来。然后我尝试了以下代码
function resizeIframe(ifRef)
{
var ifDoc;
//alert(ifRef);
try
{
ifDoc = ifRef.contentWindow.document.documentElement;
}
catch( e )
{
try
{
ifDoc = ifRef.contentDocument.documentElement;
}
catch( ee ){}
}
var doc = ifRef.height;
//alert(doc);
if(ifDoc)
{
ifRef.height = 1;
ifRef.style.height = ifDoc.scrollHeight+'px';
}
}
和iframe
<iframe onload="resizeIframe(this)" style="margin-bottom: 16px;" src="ourteamnav/first.php" frameborder="0" scrolling="no" width="597" height="240"></iframe`>
在这种情况下,我发现javascript没有错误,但它没有用。但奇怪的是他们两个都在我的本地服务器上工作,并且当代码存在的服务器现在没有指向另一个时也工作。(跨站点脚本)。
请帮我解决这个问题。
我用过的参考资料
error : Permission denied to access property 'document'
Error document.form is undefined in javascript
答案 0 :(得分:-2)
这称为XSS异常。错误:错误:访问属性'document'的权限被拒绝
不幸的是,您不想要做的事情 - 在不同于父域的网站上操纵iframe的内容或窗口。周期。