我的网页有一个嵌入式 iFrame,它在我的网页中使用了第 3 方工具,这意味着来自 iFrame 的 URL 来自不同的位置。
我需要在调整页面大小时检测 iFrame 窗口中滚动条的显示,然后在检测到它后执行任务。
我尝试了各种不同的解决方案,但都没有成功。
这可能吗?
非常感谢!
我的网页有一个嵌入式 iFrame,它在我的网页中使用了第 3 方工具,这意味着来自 iFrame 的 URL 来自不同的位置。
我需要在调整页面大小时检测 iFrame 窗口中滚动条的显示,然后在检测到它后执行任务。
我尝试了各种不同的解决方案,但都没有成功。
这可能吗?
非常感谢!
<iframe src="111.html" id="iframeid" height="300" width="800"></iframe>
<script type="text/javascript">
function resizeIFrame(){
$("#iframeid").attr("height", $("#iframeid").contents().height());
}
setInterval("resizeIFrame()", 500)
</script>
这是我想到的第一件事:http: //jsfiddle.net/matias/hhcKn/
只是示例代码!
HTML:
<div id="body"></div>
JS:
var $iframe = $("<iframe></iframe>").appendTo("#body");
var iframe = $iframe[0];
var doc = iframe.document;
//test this
var content = "<h1>Hello world</h1><br><p>more content!</p>";
//and then this
//var content = "<h1>Hello world</h1><br><br><br><br><br><p>more content!</p>";
if(iframe.contentDocument){
doc = iframe.contentDocument;
}
else if(iframe.contentWindow){
doc = iframe.contentWindow.document;
}
doc.open();
doc.writeln(content);
doc.close();
//this is the part that might interest you
var div_height = $("#body").height();
var iframe_height = $("iframe").contents().height();
if(iframe_height > div_height) alert("scrollbars present");
CSS:
body{
border: 1px solid red;
}
iframe{
border: none;
}