• 締切済み

javascriptのwindow.open

あるウインドウ上に配置されたリンクをクリックした際に 以下のjavascriptを使用して、1024×768のウインドウを開きたいと考えております。 <a href="javascript:window.open('example.html','mywindow1','width=1024,height=768');">テスト</a> しかしながら、一部の環境において、上記処理を実行すると、 ウインドウが最大化した状態で表示されます。 環境毎の挙動は以下のようになります。 ●意図したサイズ(1024×768)で開ける環境 (1)Win7-IE11 (2)Win7-Chrome (3)Win7-Firefox (4)Win10-Microsoft Edge ●最大化した状態(1920×934)で開いてしまう環境 (5)Win10-Microsoft Edge ※(4)と(5)はOS・ブラウザのバージョンは同じですが、 ハードウェアが異なります。 ・(4)はデスクトップPCで、画面解像度は1600×1200 ・(5)はノートPCで、画面解像度は1920×1080 ※上記の検証は同一のWebサーバ同一のプログラムに対して実施しております。 なぜ(4)と(5)で挙動が異なるのか分かりません。 window.openの挙動はハードウェアやドライバによって 変わってくるものなのでしょうか? 何か心当たりがありましたら、 ご教示の程、よろしくお願いいたします。

みんなの回答

回答No.1

以下を見ると、Edge では まだ対応アップデートがされていない…気がします。 https://social.technet.microsoft.com/Forums/en-US/19f49481-856d-4125-ac57-c5a23333373c/microsoft-edge-windowopen-not-honoring-width-height-and-opens-in-background?forum=WinPreview2014General ここからは余談です。 JavaScript は基本的に ECMA という標準に準拠していますが、ブラウザごとに実装が異なるため 同じコードでも挙動に差異が生じます。 ( 且つそれは 問題視されているIE のみならず Chrome、Firefox でさえ起こりえます。 ) なので、JavaScriptを使用する場合は 実装しているサイトのユーザ層などのデータをもとに サポートすべきブラウザ( 特にIEならバージョンも )を判断して、それらのブラウザで意図した挙動をするかどうかチェックするのが通例です。

sons_of_liberty
質問者

お礼

ご回答ありがとうございます。 余談部分については当方でも理解しておりました。 しかしながら今回の場合は、同じOS・ブラウザのバージョンでも、ハードウェアが異なると挙動が異なったため、原因が分からず困っていました。

関連するQ&A