私は JavaScriptでブラウザウィンドウのサイズを変更する方法 を尋ねました。誰もそれをしないように私に言った。なぜこれが悪い習慣なのですか?
時にはそれは良いことだと思います。たとえば、ユーザーにツイートのポップアップページを表示したいとします。ユーザーがツイートした後、彼をTwitterのメインページにリダイレクトして、ツイートを確認できるようにしたいと考えています。ただし、ツイートするページは小さく、メインページは大きくする必要があります。この場合、ブラウザウィンドウを大きくすることは、ユーザーにとって良いことのようです。私が間違っている?この場合、どうすればよいですか?
更新
はっきりさせる必要があると思います。
また、JavaScript resizeTo
関数はブラウザーのサイズを変更できます。私がその機能をテストしたとき、それはブラウザだけでなくChromeでもうまく機能します。 Chromeでは、ポップアップでのみ機能します。私は間違っているかもしれませんが、Chromeチームは、ポップアップでresizeTo
関数が必要になると考えているかもしれません。
Update2
ほとんどの人は、メソッドresizeTo
をいつでもどこでも使用したくないだけです。その方法が完全に邪悪で役に立たない場合、ブラウザーベンダーは既にその方法を無効にしていたと思いますが、そうしていません。
ChromeおよびOperaでは、resizeTo
メソッドはポップアップでのみ使用でき、Firefoxのユーザーは手動で無効にできます。メソッドですが、この方法が役立つ場合があると思います。
質問全体ではなく、タイトルだけを読んでいるような気がします。彼は特にポップアップウィンドウの場合について尋ねています。
UI/UXでの非常に一般的な方法は、現在のアプリケーションが別のアプリケーションと対話しているときにポップアップウィンドウを使用することです。現在のページを共有したり、さらに一般的な情報を送信したり、別のサービスにログインしたりするなど、小さな情報を送信することを考えてください。
FlickrはGoogleアカウントでサインインするときにそれを行い、このページでさえ質問を共有するときにそれを行います。
私は、ユーザーが現在のページにとどまり、たとえばFacebookにログインできるlittleウィンドウポップアップを表示することを好むと思います。バックグラウンドで表示したいサイトにいることは確認できますが、他のサイトと対話するだけで、送信が成功すると小さなウィンドウが閉じます。まったく新しいフルウィンドウページにリダイレクトするのはなぜですか?
この場合;メイン画面ではなく、ポップアップのみのサイズを変更しても問題ありません。 2つのテキストフィールドと1つの送信ボタンしかない場合は、全画面ウィンドウを用意する必要はありません。
ユーザーが以前に選択したものを上書きするようなことはすべきではありません。アプリケーションはブラウザウィンドウ内でホストされます。これはブラウザウィンドウを所有していないため、何もしません。
同じロジックで、戻るボタンなどのブラウザの動作をオーバーライドしないように指示しています。
実際、アプリケーションのウィンドウのサイズを強制的に変更しないでください。ユーザーは、あなたが知らない独自の理由でウィンドウのサイズと配置を選択しました。
ユーザーは、アプリケーションがウィンドウのサイズや位置を変更することを期待しません。したがって、 最小の驚異の原則 に従って、何もしません。
「人はシステムの一部です。デザインは、ユーザーの経験、期待、およびメンタルモデルと一致する必要があります。」
ユーザーからコントロールを奪っています。例えば; Twitterページがブラウザを小さなウィンドウに変更し、実際にツイートする前に気が変わって「戻る」ブラウザボタンを選択すると、小さなウィンドウが表示され、希望するサイズに戻す必要がありますそれがそうです。
また、予期しない動作です。ウィンドウに予期しない動作をさせることで、ユーザーを驚かせたくありません。ブラウザーが引き継ぐとき、ユーザーは疑わしいので、「ウイルスが私のPCを制御している」と思ってブラウザーを閉じる危険があります。
チーズを動かさないで!
私のウィンドウは複数のワイドスクリーンモニターに巧みに配置されているため、最大化されていないブラウザーがいくつかあります(一部のサイトのスペースが無駄にならないようにするため)。最後に、ブラウザとすべてのタブのサイズを適切なサイズに変更してください。
あなたのウェブサイトの他のあまりWebに精通していない消費者は、そうすることで不気味であるかもしれません。
ポップアップを実行する場合は、jquery UIモーダルダイアログを検討してください。同じ効果、ポップアップウィンドウ、サイズ変更の必要はありません。
多くのユーザーは一度に複数のウィンドウを開いており(一部は複数の画面上にあります)、サイズ変更によってレイアウトが非常に乱れる場合があります。さらに、ほとんどのインターネット使用(少なくとも個人的な経験では)は、開いている複数のタブを使用します。ブラウザウィンドウのサイズを変更すると、アプリケーションだけでなく、ウィンドウ内の他のタブにも影響します。最後に、ブラウザウィンドウ自体が突然変化するのは非常に煩わしいだけです。
あなたがそれをしてはいけない理由は、ページ自体ではなく、ユーザーとは何の関係もありません彼らのウェブページを所有する。
ただし、その場合は、Webアプリの状態を変更するだけではありません。ユーザーが開いているすべてのWebアプリの状態を変更します。
ブラウザタブが存在する前は、これは問題ではありませんでした。各Webアプリには独自のウィンドウがあったため、ウィンドウのサイズを変更しても他のWebアプリには影響しませんでした。
タブがあるため、ウィンドウのサイズを変更すると、他のタブもサイズ変更されます。ハングする可能性のあるブラウザーからの多くの計算(実際に、ページのサイズを変更すると、ブラウザーがresize [1] ...を実行するたびに、Render Treeの再計算が発生します)とは別に、ユーザーを困らせる可能性もあります。 、彼が別のWebアプリに完全に合うようにウィンドウのサイズを変更した可能性があるため。
[1]私がこれを強調する理由は、ウィンドウをほぼドットからフルスクリーンにゆっくりとサイズ変更することが面白いと思ったページにかつてあったためです。それはひどいもので、確かに印象的ではありませんでした。
小さなウィンドウが必要になることもありますが、これらはJavaScriptまたはそれに基づくフレームワークを使用して実装する必要があります(jQueryなど)。ブラウザによって提供されるウィンドウ内での作業に常に固執し、サイズ変更を試みないでください。あえて言うと、他のすべてのタブのウィンドウのサイズを変更するため、デスクトップの解像度を変更しようとするようなものです。
さらに、最近では、ユーザーがキーボードとマウスを備えた従来のコンピューターを使用していると想定することはできません。ユーザーがiPad/Android/mobile device。
あなたはあなたのウェブサイト/アプリケーションがロードされている唯一の利用可能なスペースとして扱い、その範囲内で作業するべきです。
個人的には、ブラウザのサイズを変更したり、邪魔になるものを実行したりした場合は、ページを閉じてファイアウォールで禁止し、誤って確認することのないようにします。
「この場合、ブラウザウィンドウを大きくすることは、ユーザーにとって良いことのようです。」 <-「ユーザーにとって良さそう」なものは本質的に間違っています。ユーザーに最適なものを選択させます。
ユーザーが人間である場合、これは悪い習慣です。
ユーザーが仮想フレームバッファーの場合は異なります。自動テストでは、特定のサイズのウィンドウを操作して、要素、イベント、および相互作用が一貫した方法でキャプチャおよび処理されていることを確認する必要があります。
オペレーティングシステムでフレームバッファーの解像度を変更するのは非常に不便です。作業している自動化環境をすべて残して、オペレーティングシステムレベルで自動コマンドをトリガーする必要があります。 (仮想)ブラウザーウィンドウのサイズを変更して続行することをお勧めします。
問題は、「ユーザーエクスペリエンス」に干渉するため、ほとんどのブラウザでこれが許可されないことです。これは、ユーザーが非稼働サイトまたは異常な画面解像度/サイズ/比率で実行されていないサイトにさらされることを意味します。
はい、あなたは間違っています。
画面の右側でビデオが再生されていると想像してください。あなたの小さなツイッターウィンドウが拡大し、それがビデオの前に来ると想像してください。何をしたらいいでしょう ?まず、Twitterのウィンドウを小さくします。次に、ページでの使用を許可しないWebブラウザーを使用することを選択します。確かに、私はいくつかのWebブラウザを尊重しており、ページを拡大することはできません。 Webブラウザはますますこのようなものになります。ユーザーが勝ちました。強力なWebページの時代は終わりました。
窓は小さいです。 OK。次に、ウィンドウにはより多くのコンテンツがあります。ユーザーがコンテンツ全体を見たい場合、ユーザーはウィンドウを拡大することを決定します。簡単です。より多くのコンテンツがあることをユーザーに示すスクロールバーがあります。しかし、ユーザーは自分がやりたいことをします。たぶん、ユーザーはもっと見ることに興味がありません。たぶん、ユーザーはこのコンテンツにまったく興味がありません。
そしてポップアップウィンドウは悪いです。常に。私はそれらすべてを禁じます。
他の回答は、1つの重要な事実を見逃しています:ポップアップのリンクは、元のウィンドウで開くように設定できます!ポップアップが別のページをロードしている場合全画面表示で、ポップアップを生成したウィンドウでそれを開き、同時にポップアップを閉じることができます。詳細は 例4はこちら を参照してください。
また、サイズを無視すると、ポップアップウィンドウは通常のブラウザウィンドウと同じとは異なります(-===-)。ポップアップは、アドレスバー、ツールバー、戻る/進むボタンなどのブラウザー機能のない、孤立したプレーンウィンドウです。全画面ウィンドウにポップアップのサイズを変更することは、通常のウィンドウでページを開く代わりとしては受け入れられません。
私のブラウザーは1つの中間サイズしか記憶できません。
私は、中間から最大化して戻る、最小化して戻る、最大化->最小化->中間にジャンプできます。ただし、2つの異なる中間サイズの間ではありません。
したがって、中間サイズを選択し、ウィンドウを調整する作業があり、誰かが別のサイズを選択した場合、私の作業は失われ、ページに非常に腹を立て、より多くの作業を強いられます。