jQueryUI ダイアログには、ファイル アップロード機能を提供する iFrame があります。この upload-iframe は、ダイアログの高さの 50% であると想定されています ( を使用$(window).height()
)。
$(document).ready(function(){ ... });
ダイアログファイルから、iFrame の高さを設定しています。次に、iframe で同じ構造を使用して、その内部の div の高さを設定し、ダイアログの 50% の高さ (iframe の 100% の高さ) を正しくカバーします。iframe では、 $(window).height() を使用して高さを設定しています。
これは、IE9 を含むすべてのブラウザーで機能しますが、IE8 では機能しません。
問題は、ダイアログの読み込み中に iframe コンテンツがレンダリングされることです。iframe が取得する高さは、実際の iframe コンテンツが必要とする高さです。私の場合は 150px です。
私は私が望むものを達成するために多くのことを試みました:
- ダイアログの $(document).ready() の外にコードを配置します
- ダイアログ ソースの最後に iframe のサイズを変更するコードを配置します。
- iframe で $(parent.document).ready() を使用する
- いくつかの非 jQuery 表記法/構文が高さに影響を与えようとしています。
残念ながら、それらのどれもトリックをしませんでした。親/ダイアログ ウィンドウの 50% の高さを IE8 に伝える方法に関する提案はありますか?