我有iframe(跨域)从Facebook,Twitter或其他等src我需要获得高度的iframe,但我得到了问题:“权限被拒绝访问属性'文件'”。请帮我解决这个问题。非常感谢!如何获得iframe跨域的高度
6
A
回答
6
夫妇问题。首先,iframe
的高度可能不是你想要的。我的意思是,它明确设置在您控制的页面的HTML代码中,并且可以通过任何Javascript方式轻松访问和修改。看起来你是在的页面高度 iframe。如果是这样,简单的答案是你不能,至少不能像Facebook/Twitter这样的外部服务。
由于安全原因,人们可以轻松地将消息从孩子传递给父母,但不会从父母传递给孩子,除非在您的javascript 中的文档中已内置通信路径。在现代浏览器中有一个postMessage
协议来处理这个问题。 https://developer.mozilla.org/en/DOM/window.postMessage。但是,在这种情况下,这完全没有用处,除非你正在与之通信的文档被设置为处理传入的postMessage,而据我所知,Twitter/Facebook通常不会。
如果父母文档可以与来自不同域的孩子自由沟通,那么任何 JavaScript都可以在您登录的任何网站上有效执行任何系列命令。这是可怕的安全含义,幸好不可能。
1
javascript中没有选项可以找到跨域iframe高度的高度,但是可以在某些服务器端编程的帮助下完成此类操作。我在这个例子中使用了PHP
<?php
$output = file_get_contents('http://yourdomain.com');
?>
<div id='iframediv'>
<?php echo $output; ?>
</div>
<iframe style='display:none' id='iframe' src="http://yourdomain.com" width="100%" marginwidth="0" height="100%" marginheight="0" align="top" scrolling="auto" frameborder="0" hspace="0" vspace="0"> </iframe>
<script>
if(window.attachEvent) {
window.attachEvent('onload', iframeResizer);
} else {
if(window.onload) {
var curronload = window.onload;
var newonload = function(evt) {
curronload(evt);
iframeResizer(evt);
};
window.onload = newonload;
} else {
window.onload = iframeResizer;
}
}
function iframeResizer(){
var result = document.getElementById("iframediv").offsetHeight;
document.getElementById("iframe").style.height = result;
document.getElementById("iframediv").style.display = 'none';
document.getElementById("iframe").style.display = 'inline';
}
</script>
相关问题
- 1. 如何获取跨域iframe contentWindow高度
- 2. 如何设置跨域的iframe高度
- 3. 跨域iframe高度操作
- 4. 跨域的动态iframe高度
- 5. 调整跨域iframe的高度
- 6. Iframe自动高度100%与跨域
- 7. 跨域设置iframe高度动态
- 8. 跨域iFrame自动调整高度
- 9. 根据文档的高度设置IFRAME的高度(跨域)
- 10. 获取跨域iFrame中的文档的高度
- 11. 在跨域环境中设置IFRAME的高度和宽度?
- 12. 跨域的iframe获取值
- 13. 如何从iframe跨域获取内容
- 14. 跨域iframe高度 - 我有两个域的控制权,并需要浏览iframe
- 15. 获取iframe中的iframe JavaScript和跨域
- 16. 如何获得跨度
- 17. 获取跨域iframe反馈
- 18. iframe跨域获取CSS
- 19. 如何获得真正的iframe身高?
- 20. 如何在跨域的iframe中获取父域名?
- 21. 如何获得PDF文档在iframe中的加载高度
- 22. iframe跨域
- 23. iframe跨域onClick
- 24. iframe动态高度跨域使用jquery.ba-postmessage
- 25. 如何获得响应跨域AJAX
- 26. 跨域OAuth ...如何获得响应?
- 27. 如何获得跨度从jQuery的
- 28. 如何获得跨度值的jQuery
- 29. 如何获得跨度按钮的xpath
- 30. 如何获得父跨度的文本?