4

私の Web ページには、Web ページ内でサードパーティのツールを使用している iFrame が埋め込まれています。これは、iFrame からの URL が別の場所から来ていることを意味します。

ページのサイズを変更するときにiFrameウィンドウ内のスクロールバーの表示を検出し、検出されたらタスクを実行する必要があります。

私はさまざまなソリューションを試しましたが、すべて成功していません。

これは可能ですか?

どうもありがとう!

4

2 に答える 2

1
<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>
于 2013-04-19T04:27:43.480 に答える
1

これは私の頭に浮かぶ最初のものです: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;
}
于 2013-04-19T00:11:04.473 に答える