1

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。誰にもアイデアはありますか?

4

0 に答える 0