it-swarm.com.de

Warum ist es eine schlechte Praxis, die Größe des Browserfensters zu ändern?

Ich fragte wie ich die Größe des Browserfensters mit JavaScript ändern kann . Alle sagten mir, ich solle es nicht tun. Warum ist das eine schlechte Praxis?

Ich denke manchmal kann es gut sein. Zum Beispiel möchte ich Benutzern eine Tweeting-Popup-Seite anzeigen. Nachdem ein Benutzer getwittert hat, möchte ich ihn zur Twitter-Hauptseite weiterleiten, damit er seinen Tweet überprüfen kann. Die Tweetseite ist jedoch klein und die Hauptseite sollte groß sein. In diesem Fall scheint es für den Benutzer gut zu sein, das Browserfenster zu vergrößern. Liege ich falsch? Wie soll ich dann in diesem Fall vorgehen?

Update

Ich denke, ich muss etwas klarstellen.

  1. Ich möchte auch nicht, dass die Größe meines Browsers geändert wird. Das Ändern der Größe des Browsers von Benutzern ist normalerweise schlecht. Was ich wissen möchte ist, dass es einen Fall geben kann, in dem es gut sein kann.
  2. Ich mag auch keine Popups. Aber wie @zzzBov sagte, sind Pop-Outs anders. Dies wird auf vielen Websites sogar in Stack Exchange verwendet (Sie können Freigabeschaltflächen unter der Favoritenschaltfläche sehen). Ich denke nicht, dass es besser wäre, wenn diese Schaltflächen ein modaler jQuery-Dialog wären.

Die JavaScript-Funktion resizeTo kann die Größe des Browsers ändern. Als ich diese Funktion getestet habe, funktioniert sie gut in Browsern, aber in Chrome. In Chrome funktioniert es nur in Popups. Ich könnte mich irren, aber ich denke Chrome Team dachte auch, dass die Funktion resizeTo in Popups benötigt wird.

Update2

Die meisten Leute wollen einfach nicht, dass die Methode resizeTo jederzeit und überall verwendet wird. Ich denke, wenn diese Methode völlig böse und nutzlos wäre, hätten die Browser-Anbieter diese Methode bereits deaktiviert, aber sie haben es nicht getan.

In Chrome und Opera) ist die Methode resizeTo nur in Popups verfügbar, und in Firefox können Benutzer sie manuell deaktivieren. Ich bin sicher, dass man bei der Verwendung von sehr vorsichtig sein sollte Methode. Aber ich glaube, diese Methode kann in einigen Fällen nützlich sein.

39
Sanghyun Lee

Ich habe das Gefühl, dass jeder nur den Titel und nicht die ganze Frage liest. Er fragt speziell nach dem Fall eines Popup-Fensters.

In UI/UX wird häufig ein Popup-Fenster verwendet, wenn die aktuelle Anwendung mit einer anderen interagiert. Denken Sie daran, kleine Informationen wie das Teilen der aktuellen Seite oder noch häufiger das Anmelden bei einem anderen Dienst zu übermitteln.

Flickr tut dies, wenn Sie sich mit einem Google-Konto anmelden, und selbst diese Seite tut dies, wenn Sie eine Frage teilen.

Ich würde denken, dass der Benutzer es vorziehen würde, auf der aktuellen Seite zu bleiben und ein kleines Fenster zu haben, in dem er sich zum Beispiel bei Facebook anmelden kann. Sie können immer noch sehen, dass sie sich an der Stelle befinden, an der sie sich im Hintergrund befinden möchten, aber nur mit einer anderen interagieren, und dann wird das kleine Fenster geschlossen, wenn eine erfolgreiche Einreichung erfolgt. Warum sie auf eine ganz neue vollständige Fensterseite umleiten?

In diesem Fall; Es ist durchaus akzeptabel, nur das Popup, nicht aber den Hauptbildschirm zu dimensionieren. Es ist kein Vollbildfenster erforderlich, wenn nur zwei Textfelder und eine Schaltfläche zum Senden vorhanden sind.

  • Größe des aktuellen Benutzerfensters ändern = Schlecht
  • Ändern der Größe des temporären Popup-Fensters, um es weniger invasiv zu machen = Perfekt akzeptabel
  • Die Verwendung der jQuery-Benutzeroberfläche zum Erstellen von Seiten-Popups ist möglicherweise besser, aber wie unterschiedlich ist das wirklich? (UX weise)
33

Sie sollten nichts tun, was das überschreibt, was der Benutzer zuvor ausgewählt hat. Ihre Anwendung wird in den Browserfenstern gehostet. Das Browserfenster gehört ihm nicht, daher sollte es nichts dagegen tun.

Dieselbe Logik schreibt vor, dass Sie kein Browserverhalten wie die Zurück-Schaltfläche überschreiben sollten.

Tatsächlich sollten Sie die Fenster Ihrer eigenen Anwendung nicht zwingen, die Größe zu ändern. Der Benutzer hat die Größe und Platzierung des Fensters aus eigenen Gründen gewählt, die Sie nicht kennen.

Der Benutzer erwartet nicht, dass Ihre Anwendung die Größe oder Position des Fensters ändert - daher folgt er dem Prinzip des geringsten Erstaunens , um nichts zu tun.

"Menschen sind Teil des Systems. Das Design sollte der Erfahrung, den Erwartungen und den mentalen Modellen des Benutzers entsprechen."

45
ChrisF

Sie übernehmen die Kontrolle vom Benutzer. Zum Beispiel; Wenn die Twitter-Seite den Browser in ein kleines Fenster ändert und sie dann ihre Meinung ändern, bevor sie tatsächlich twittern und die Schaltfläche "Zurück" des Browsers wählen, bleibt ihnen ein kleines Fenster und sie müssen es selbst wieder auf die gewünschte Größe sortieren es zu sein.

Es ist auch unerwartetes Verhalten; Sie möchten sie nicht überraschen, indem Sie das Fenster etwas tun lassen, was sie nicht erwarten. Benutzer sind misstrauisch, wenn der Browser übernimmt, und Sie riskieren, dass sie ihn schließen und denken, dass ein Virus die Kontrolle über meinen PC übernommen hat.

22
JonW

Beweg meinen Käse nicht!

Ich habe meine Fenster fachmännisch auf meinen mehreren Breitbildmonitoren angeordnet, daher habe ich einige nicht maximierte Browser (um Platzverschwendung von einigen Seiten an der Seite zu vermeiden). Das Letzte, was ich tun möchte, ist, dass Sie die Größe meines Browsers und aller seiner Registerkarten auf eine Größe ändern, die Sie für angemessen halten.

Andere weniger web-sichere Konsumenten Ihrer Website könnten davon erschreckt sein und das Fenster möglicherweise für immer in dieser Größe behalten (da sie möglicherweise nicht wissen, wie sie die Größe ändern sollen).

13
Amadiere

Wenn Sie ein Popup erstellen möchten, sollten Sie modale Dialoge für die jquery-Benutzeroberfläche in Betracht ziehen. Gleicher Effekt, kein Popup-Fenster, keine Größenänderung erforderlich.

5
normanthesquid

Bei vielen Benutzern sind mehrere Fenster gleichzeitig geöffnet (einige auf mehreren Bildschirmen), und die Größenänderung kann das Layout erheblich beeinträchtigen. Darüber hinaus umfasst die meiste Internetnutzung (zumindest nach meiner persönlichen Erfahrung) mehrere geöffnete Registerkarten. Das Ändern der Größe des Browserfensters wirkt sich nicht nur auf Ihre Anwendung aus, sondern auch auf die anderen Registerkarten im Fenster. Schließlich ist es einfach nur ärgerlich, wenn sich das Browserfenster plötzlich von selbst ändert.

3
yoozer8

Der Grund, warum Sie dies nicht tun dürfen, hat nichts damit zu tun, dass Benutzer ihre Webseite besitzen und nicht die Seite selbst.

In diesem Fall ändern Sie jedoch nicht nur den Status Ihrer Web-App. Sie ändern den Status aller Web-Apps, die der Benutzer geöffnet hat.

Bevor Browser-Registerkarten existierte, war dies kein Problem. Jede Web-App hatte ein eigenes Fenster, sodass die Größenänderung des Fensters keine Auswirkungen auf andere Web-Apps hatte.

Aufgrund von Registerkarten bedeutet die Größenänderung des Fensters, dass auch andere Registerkarten in der Größe geändert werden. Abgesehen von vielen Berechnungen des Browsers, die dazu führen können, dass sie hängen bleiben (tatsächlich führt die Größenänderung einer Seite zu einer Neuberechnung des Renderbaums, jedes Mal, wenn der Browser eine Größenänderung hat [1] ...), kann dies den Benutzer auch stören , weil er möglicherweise die Größe des Fensters so geändert hat, dass es perfekt in eine andere Web-App passt.

[1] Der Grund, warum ich dies betone, ist, dass ich einmal auf einer Seite war, die es amüsant fand, die Größe des Fensters langsam von fast einem Punkt auf Vollbild zu ändern. Das war schrecklich und sicherlich nicht beeindruckend.

2
Thaddee Tyl

Manchmal sind kleine Fenster erforderlich, diese sollten jedoch mit Javascript oder einem darauf basierenden Framework implementiert werden, z. B. jQuery. Sie sollten immer in dem vom Browser bereitgestellten Fenster arbeiten und niemals versuchen, die Größe zu ändern. Ich würde sagen, es ist wie der Versuch, die Auflösung des Desktops zu ändern, da Sie die Größe des Fensters für alle anderen Registerkarten ändern.

Darüber hinaus können Sie heutzutage nicht davon ausgehen, dass Ihre Benutzer einen herkömmlichen Computer mit Tastatur und Maus verwenden, Alt-Tabbing und was nicht. Was passiert, wenn ein Benutzer mit einem iPad/Android/mobiles Gerät) auf Ihre Website zugreift? Das Starten eines neuen Fensters und das Ändern der Größe (auf einigen Plattformen nicht möglich) würde die Benutzererfahrung/den Benutzerfluss vollständig zerstören.

Sie sollten das Fenster, in das Ihre Website/Anwendung geladen wird, als Ihren einzigen verfügbaren Speicherplatz behandeln und innerhalb seiner Grenzen arbeiten.

2
user6072

Wenn Sie die Größe des Browsers ändern oder etwas tun, das mir im Weg steht, schließe ich Ihre Seite und verbiete sie in meiner Firewall, um sicherzustellen, dass ich nicht wieder darauf stoße, auch nicht aus Versehen.

"In diesem Fall scheint es für den Benutzer gut zu sein, das Browserfenster zu vergrößern." <- Alles, was "gut für den Benutzer scheint", ist von Natur aus falsch. Lassen Sie den Benutzer auswählen, was für ihn am besten ist.

1
Jeanne-Kamikaze

Es ist eine schlechte Praxis, wenn Ihr Benutzer ein Mensch ist.

Wenn Ihr Benutzer ein virtueller Framebuffer ist, ist dies anders. Bei automatisierten Tests müssen wir häufig mit Fenstern bestimmter Größen arbeiten, um sicherzustellen, dass Elemente, Ereignisse und Interaktionen auf konsistente Weise erfasst und verarbeitet werden.

Es ist äußerst unpraktisch, das Betriebssystem dazu zu bringen, die Auflösung des Framebuffers zu ändern. Sie müssen die Umgebung, in der Sie arbeiten und automatisieren, verlassen und nach unten gehen und automatische Befehle auf Betriebssystemebene auslösen. Viel besser, einfach die Größe des (virtuellen) Browserfensters zu ändern und fortzufahren.

Das Problem ist, dass die meisten Browser dies nicht zulassen, da dies die "Benutzererfahrung" beeinträchtigt. Dies bedeutet, dass Benutzer nicht funktionierenden Websites oder Websites ausgesetzt sind, die nicht mit ungewöhnlichen Bildschirmauflösungen/-abmessungen/-verhältnissen ausgeführt werden.

0
Simon Brown

Ja, du liegst falsch.

Stellen Sie sich vor, ich habe rechts auf meinem Bildschirm ein Video abgespielt. Stellen Sie sich vor, Ihr kleines Twitter-Fenster vergrößert sich selbst und wird vor dem Video angezeigt. Was werde ich tun ? Zuerst werde ich das Twitter-Fenster wieder klein machen. Dann werde ich einen Webbrowser verwenden, der Seiten dies nicht erlaubt. In der Tat habe ich mehrere Webbrowser, die mich respektieren: Sie erlauben es Seiten nicht, sich selbst zu vergrößern. Webbrowser werden immer mehr so ​​sein. Benutzer haben gewonnen. Die Ära der mächtigen Webseite ist vorbei.

Das Fenster ist klein. OK. Dann gibt es mehr Inhalt im Fenster. Wenn der Benutzer den gesamten Inhalt sehen möchte, beschließt der Benutzer, das Fenster zu vergrößern. Es ist leicht. Es gibt Bildlaufleisten, die dem Benutzer anzeigen, dass mehr Inhalt vorhanden ist. Aber der Benutzer macht, was er will. Vielleicht ist der Benutzer nicht daran interessiert, mehr zu sehen. Möglicherweise interessiert sich der Benutzer überhaupt nicht für diesen Inhalt.

Und Popup-Fenster sind schlecht. Immer. Ich verbiete ihnen allen.

0

Die anderen Antworten haben eine wichtige Tatsache übersehen: Links in einem Popup können so eingestellt werden, dass sie im Originalfenster geöffnet werden! Wenn Ihr Popup eine andere Seite lädt, sollte dies der Fall sein Wenn Sie im Vollbildmodus arbeiten, können Sie es in dem Fenster öffnen, in dem das Popup erstellt wurde, und gleichzeitig das Popup schließen. Siehe Beispiel 4 hier für Details.

Es ist auch erwähnenswert, dass ein Popup-Fenster , wenn man die Größe ignoriert, immer noch nicht mit einem normalen Browserfenster identisch ist . Popups sind isolierte, einfache Fenster ohne Browserfunktionen wie Adressleiste, Symbolleisten, Vor-/Zurück-Schaltflächen usw. Das Ändern der Größe eines Popups in ein Vollbildfenster ist kein akzeptabler Ersatz für das Öffnen einer Seite in einem normalen Fenster.

0
DisgruntledGoat

Mein Browser kann sich nur eine Zwischengröße merken.

Ich kann von mittel zu maximiert und zurück, zu minimiert und zurück und maximiert-> minimiert-> mittel springen. Aber nicht zwischen 2 verschiedenen Zwischengrößen.

Wenn ich also eine Zwischengröße gewählt habe und es etwas Arbeit ist, mein Fenster anzupassen, und jemand eine andere Größe wählt, geht meine Arbeit verloren und ich werde sehr wütend auf die Seite und zwinge mich, mehr zu arbeiten.

0
user unknown