iframe を動的にサイズ変更しようとしています。iframe ページを変更してAJAX with jQueryを使用するまで、これはそれほど難しくありませんでした。iframe本体のサイズ変更イベントに、iframeのサイズも変更する機能を追加しています。AJAX の使用を開始した後、サイズ変更イベントをトリガーしなくなったようです。
親サイトにあるコードは次のとおりです。
$(function(){
var iframe = $('#myiframe');
iframe.load( function() {
var iframe_content = iframe.contents().find('#content');
iframe_content.resize( function() {
var elem = $(this);
var newHeight = elem.height();
// Resize the iframe.
iframe.css({ height: newHeight });
});
// Resize the iframe immediately
iframe_content.resize();
});
});
iframe サイトの AJAX フォームは次のとおりです。
<form onsubmit="jQuery.ajax({type: 'GET',
data: $(this).serialize(),
url: '/employeedirectory/employee/ajaxUpdate',
success:function( data, textStatus ) {
$('#results').html(data);
// Go to the parent document, find the content div, and call its resize event
$(document, parent.window.document).contents().find('#myiframe').contents().find('#content').resize();
},
error: function( XMLHttpRequest, textStatus, errorThrown ) {} });
return false;"
id="searchForm">
</form>
親サイトで実行$('#myiframe').contents().find('#content').resize()
してサイズ変更イベントを強制すると、問題なく動作します。しかし、私が望むようにそれを呼んでいるようには見えませんonsuccess
。誰にもアイデアはありますか?