0

IE の window.open でこの奇妙な問題が発生しています。指定したよりも余分な幅と高さを持つ新しいウィンドウが作成されます。

popped_window = window.open('http://localhost/window/window-width.php','_blank','width=800,height=600,scrollbars=no')

上記のコードは、804px と 604px (innerWidth、innerWidth) の IE ウィンドウを開きます。外側の高さは、選択した機能 (アドレス バー、ステータス バーなど) によって異なります。当然のことですが、なぜ内側の寸法を 4px 変更する必要があるのでしょうか。

この追加の 4px はスクロールバー用であるとどこかに書かれていました。IEは、ウィンドウのコンテンツがスクロールバーを追加するかどうかにかかわらず、幅が同じであることを確認するために配置します。いくつかのフォーラムで見たので、それを証明する MSDN の記事はありません。

また、開いた新しいウィンドウがそのコンテンツにある場合、この 4px 追加の動作は表示されません。これは、フレームセットが新しいウィンドウで動的に表示/非表示になる可能性があるため、実際のトラブルメーカーです。

私はすでに window.resizeTo() を試しましたが、まったく役に立ちませんでした。スタックオーバーフローで何も見つかりませんでした。提案はありますか?

4

1 に答える 1

0

これは標準モードで発生しました。Quirks に移行し、今のところ機能しています。

于 2013-07-30T08:35:16.010 に答える