risposta-alla-domanda-sullo-sviluppo-web-bd.com

Perché ridimensionare la finestra del browser è una cattiva pratica?

Ho chiesto come posso ridimensionare la finestra del browser con JavaScript . Tutti mi hanno detto di non farlo. Perché questa è una cattiva pratica?

Penso che a volte possa essere buono. Ad esempio, voglio mostrare agli utenti una pagina popup tweeting. Dopo che un utente ha twittato, voglio reindirizzarlo alla pagina principale di Twitter per consentirgli di verificare il suo Tweet. Ma la pagina di tweet è piccola e la pagina principale dovrebbe essere grande. In questo caso, ingrandire la finestra del browser sembra utile per l'utente. Ho sbagliato? Quindi come devo fare in questo caso?

Update

Penso di aver bisogno di chiarire qualcosa.

  1. Inoltre, non voglio che il mio browser venga ridimensionato. Il ridimensionamento del browser degli utenti è generalmente errato. Quello che voglio sapere è che potrebbe esserci qualche caso che può essere buono.
  2. Inoltre non mi piacciono i popup. Ma come ha detto @zzzBov, i pop-out sono diversi. Viene utilizzato in molti siti Web anche in Stack Exchange (puoi vedere i pulsanti di condivisione sotto il pulsante preferito). Non penso che sarebbe meglio se quei pulsanti fossero dialoghi modali jQuery.

Inoltre, la funzione JavaScript resizeTo può ridimensionare il browser. Quando ho provato quella funzione, funziona bene nei browser ma Chrome. In Chrome, funziona solo nei popup. Potrei sbagliarmi, ma suppongo Chrome potrebbe anche pensare che la funzione resizeTo sarebbe necessaria nei popup.

Update2

Molte persone semplicemente non vogliono che il metodo resizeTo sia usato sempre e ovunque. Penso che se quel metodo fosse totalmente malvagio e inutile, i venditori di browser lo avrebbero già disabilitato, ma non lo fecero.

In Chrome e Opera, il metodo resizeTo è disponibile solo nei popup e in Firefox gli utenti possono disabilitarlo manualmente. Sono sicuro che si dovrebbe fare molta attenzione quando si usa il ma credo che questo metodo possa essere utile in alcuni casi.

39
Sanghyun Lee

Sento che tutti hanno appena letto il titolo e non l'intera domanda. Chiede in particolare il caso di una finestra popup.

Una pratica molto comune in UI/UX è quella di utilizzare una finestra popup quando l'applicazione corrente interagisce con un'altra. Pensa a inviare piccole informazioni come condividere la pagina corrente o ancora più comune, accedere a un altro servizio.

Flickr lo fa quando si accede con un account Google e anche questa pagina lo fa quando si condivide una domanda.

Penso che l'utente preferirebbe rimanere nella pagina corrente e avere una finestra piccola che consente di accedere a Facebook, ad esempio. Riescono ancora a vedere di trovarsi sul sito in cui vogliono trovarsi in background, ma interagiscono semplicemente con un altro e quindi la piccola finestra si chiude quando si verifica un invio riuscito. Perché reindirizzarli a una pagina a finestra intera completamente nuova?

In questo caso; dimensionare solo il pop-up, ma non la schermata principale, è perfettamente accettabile. Non è necessario disporre di una finestra a schermo intero quando sono presenti solo due campi di testo e un pulsante di invio.

  • Ridimensionamento della finestra dell'utente corrente = Bad
  • Ridimensionare la finestra pop-up temporanea per renderla meno invasiva = Perfettamente accettabile
  • Utilizzando l'interfaccia utente di jQuery per creare pop-up di pagine, potrebbe essere migliore, ma quanto è diverso? (UX saggio)
33
Vian Esterhuizen

Non dovresti fare nulla che sostituisca ciò che l'utente ha precedentemente scelto. L'applicazione è ospitata all'interno delle finestre del browser. Non possiede la finestra del browser, quindi non dovrebbe farci nulla.

La stessa logica impone che non si debba ignorare alcun comportamento del browser come il pulsante Indietro.

In effetti non dovresti forzare le finestre della tua applicazione a cambiare dimensione. L'utente ha scelto la dimensione e il posizionamento della finestra per i propri motivi che non si conoscono.

L'utente non si aspetta che l'applicazione cambi la dimensione o la posizione della finestra, pertanto segue il principio del minimo stupore per non fare nulla.

"Le persone fanno parte del sistema. Il design deve corrispondere all'esperienza dell'utente, alle aspettative e ai modelli mentali".

45
ChrisF

Stai togliendo il controllo all'utente. Per esempio; Se la pagina di Twitter cambia il browser in una piccola finestra e poi cambiano idea prima di twittare effettivamente e scelgono il pulsante 'indietro' del browser, vengono quindi lasciati con una piccola finestra e devono riordinarli da soli nella dimensione desiderata essere.

È anche un comportamento inaspettato; non vuoi sorprenderli facendo fare alla finestra qualcosa che non si aspettano. Gli utenti sono sospettosi quando subentra il browser, quindi rischi di chiuderlo pensando che "un virus ha preso il controllo del mio PC".

22
JonW

Non muovere il mio formaggio!

Ho le mie finestre abilmente sistemate sui miei monitor widescreen multipli, quindi ho alcuni browser non massimizzati (per evitare lo spreco di spazio da alcuni siti a lato). L'ultima cosa che voglio che accada è che tu ridimensioni il mio browser e tutte le sue schede ad una dimensione che ritieni appropriata.

Altri consumatori meno esperti del tuo sito web potrebbero essere spaventati dal fatto che lo faccia, immagino, e potrebbe eventualmente mantenere la finestra di quelle dimensioni per sempre (poiché potrebbero non essere consapevoli di come modificarle).

13
Amadiere

Se vuoi fare un popup, considera le finestre di dialogo modali dell'interfaccia utente di jquery. Stesso effetto, nessuna finestra popup, nessun ridimensionamento necessario.

5
normanthesquid

Molti utenti hanno più finestre aperte contemporaneamente (alcune su più schermi) e il ridimensionamento può davvero rovinare il layout. Inoltre, la maggior parte dell'uso di Internet (almeno nella mia esperienza personale) include più schede aperte. Il ridimensionamento della finestra del browser influirà non solo sull'applicazione, ma anche sulle altre schede della finestra. Infine, è semplicemente fastidioso quando la finestra del browser cambia improvvisamente da sola.

3
yoozer8

Il motivo per cui non devi farlo non ha nulla a che fare con gli utenti che possiedono la loro pagina web piuttosto che la pagina stessa.

Se lo fai, tuttavia, non modificherai semplicemente lo stato della tua app web. Modificherai lo stato di tutte le app Web aperte dall'utente.

Prima che schede del browser esistesse, questo non era un problema. Ogni app Web aveva una propria finestra, pertanto il ridimensionamento della finestra non influiva su altre app Web.

A causa delle schede, il ridimensionamento della finestra significa che verranno ridimensionate anche altre schede. A parte un sacco di calcoli dal browser, che potrebbero bloccarlo (in effetti, il ridimensionamento di una pagina provoca un ricalcolo dell'albero di rendering, ogni volta che il browser ha un ridimensionamento [1] ...), può anche infastidire l'utente , perché potrebbe aver ridimensionato la finestra per adattarla perfettamente a un'altra app Web.

[1] Il motivo per cui sottolineo questo è che una volta mi trovavo su una pagina che trovava divertente ridimensionare lentamente la finestra da quasi un punto a schermo intero. È stato terribile, e certamente non impressionante.

2
Thaddee Tyl

A volte sono necessarie piccole finestre, ma queste dovrebbero essere implementate usando javascript o qualche framework basato su di esso, ad esempio jQuery. Dovresti sempre continuare a lavorare all'interno della finestra fornita dal browser e non tentare mai di ridimensionarlo. Oserei dire che è come provare a cambiare la risoluzione del desktop perché ridimensionerai la finestra per tutte le altre schede.

Inoltre, in questi giorni non puoi presumere che i tuoi utenti stiano usando un computer tradizionale con tastiera e mouse, alt-tab e altro. Che cosa succede se un utente accede al tuo sito utilizzando un iPad/Android/dispositivo mobile. L'avvio di una nuova finestra e il ridimensionamento (nemmeno possibile su alcune piattaforme) distruggerebbe completamente l'esperienza/flusso dell'utente.

Dovresti considerare la finestra in cui il tuo sito web/la tua applicazione viene caricata come il tuo unico spazio disponibile e operare all'interno dei suoi confini.

2
user6072

Personalmente, se ridimensioni il browser o fai qualcosa che mi ostacola, chiuderò la tua pagina e la bannerò sul mio firewall per assicurarmi di non trovarla mai più, nemmeno per errore.

"In questo caso, ingrandire la finestra del browser sembra utile per l'utente." <- Tutto ciò che "sembra buono per l'utente" è intrinsecamente sbagliato. Consenti all'utente di scegliere ciò che è meglio per loro.

1
Jeanne-Kamikaze

È una cattiva pratica quando l'utente è umano.

Quando l'utente è un framebuffer virtuale, è diverso. Nei test automatizzati abbiamo spesso bisogno di lavorare con finestre di dimensioni specifiche per garantire che elementi, eventi e interazioni vengano acquisiti ed elaborati in modo coerente.

È estremamente scomodo far cambiare la risoluzione del sistema operativo sul framebuffer, devi lasciare qualsiasi ambiente in cui lavori e automatizzare e spostarti verso il basso e attivare i comandi automatici a livello di sistema operativo. Molto meglio ridimensionare semplicemente la finestra del browser (virtuale) e continuare.

Il problema è che la maggior parte dei browser non lo consente perché interferisce con l '"esperienza dell'utente". Ciò significa che gli utenti sono esposti a siti non funzionanti o siti che non funzionano con risoluzioni/dimensioni/rapporti dello schermo insoliti.

0
Simon Brown

Sì, ti sbagli.

Immagina di avere un video in riproduzione a destra sul mio schermo. Immagina che la tua piccola finestra di Twitter si allarghi e arrivi davanti al video. Cosa farò ? Per prima cosa, ridimensionerò la finestra di Twitter. Quindi, sceglierò di utilizzare un browser Web che non consente alle pagine di farlo. In effetti, ho diversi browser Web che mi rispettano: non consentono alle pagine di ingrandirsi. I browser Web saranno sempre più così. Gli utenti hanno vinto. L'era della potente pagina Web è finita.

La finestra è piccola OK. Quindi c'è più contenuto nella finestra. Se l'utente desidera visualizzare l'intero contenuto, l'utente decide di ingrandire la finestra. È facile. Ci sono barre di scorrimento che mostrano all'utente che c'è più contenuto. Ma l'utente fa quello che vuole. Forse l'utente non è interessato a vedere di più. Forse l'utente non è affatto interessato a questo contenuto.

E le finestre popup sono cattive. Sempre. Li proibisco a tutti.

0

Le altre risposte hanno perso un fatto vitale: i collegamenti in un popup possono essere impostati per aprirsi nella finestra originale! Se il tuo popup sta caricando un'altra pagina che dovrebbe essere a schermo intero, puoi aprirlo nella finestra che ha generato il popup e chiudere il popup contemporaneamente. Vedi Esempio 4 qui per i dettagli.

Vale anche la pena notare che ignorando le dimensioni, una finestra popup è non è ancora la stessa di una normale finestra del browser. I popup sono finestre isolate e semplici senza funzionalità del browser come barra degli indirizzi, barre degli strumenti, pulsanti Indietro/Avanti e così via. Il ridimensionamento di un popup in una finestra a schermo intero non è un sostituto accettabile per l'apertura di una pagina in una finestra normale.

0
DisgruntledGoat

Il mio browser può ricordare solo una dimensione intermedia.

Posso passare da intermedio a ingrandito e viceversa, a minimizzato e viceversa, e ingrandito-> minimizzato-> intermedio. Ma non tra 2 diverse dimensioni intermedie.

Quindi, se ho scelto una dimensione intermedia, ed è un lavoro regolare la mia finestra, e qualcuno sceglie una dimensione diversa, il mio lavoro è perso e mi arrabbio molto sulla pagina, costringendomi a lavorare di più.

0
user unknown