Ich verwende Javascript, um Popups im Browser zu öffnen, aber die Funktionalität und die unterstützten Eigenschaften scheinen zu variieren.

Im IE kann ich ein Popup öffnen und seine Größe ändern. Wenn ich jedoch ein Popup von diesem öffne, wird die Größe nicht geändert.

Wenn ich in Chrome / Firefox ein Popup öffne, wird eine andere Größe angezeigt. Wenn ich in diesem Fenster ein weiteres Popup öffne, wird es in einer neuen Registerkarte neben dem übergeordneten Fenster geöffnet.

In Chrome kann ich die Adressleiste nicht entfernen.

In Chrome / Firefox kann ich die Größenänderung von Fenstern nicht verhindern.

Gibt es eine Möglichkeit herauszufinden, was von jedem Browser unterstützt wird, oder alle dazu zu bringen, sich gleich zu verhalten?

2
connersz 4 Dez. 2013 im 20:07

3 Antworten

Beste Antwort

Gibt es eine Möglichkeit herauszufinden, was von jedem Browser unterstützt wird, oder alle dazu zu bringen, sich gleich zu verhalten?

Nein.

Sie müssen berücksichtigen, dass Benutzereinstellungen festgelegt werden können, um das Standardverhalten zu überschreiben, und einige Antivirensuiten enthalten Popup-blockierende Add-Ons. Im Allgemeinen wissen Sie auch nicht, ob der Client dies auf einem mobilen Gerät (das wahrscheinlich nicht einmal Popups unterstützt) oder einem wirklich seltsamen Browser anzeigt. (Linux-Benutzer haben Optionen, die wir niemals in Betracht ziehen würden, nur Text usw. einzuschließen.) Der Umgang mit der Tatsache, dass Sie nur begrenzte Kontrolle über die Konfiguration der Clients haben, ist nur ein Teil Ihrer Tätigkeit als Webentwickler.

Meine Empfehlung wäre, das Design zu überdenken. Ich bin mir nicht sicher, was Sie versuchen, aber denken Sie an Dinge wie modale Dialoge mit JavaScript und CSS, wo dies angebracht ist, und öffnen Sie einfach Links mit "target = _new" und lassen Sie die Vorlieben und den Browser des Benutzers bestimmen, ob dies ein Popup oder ein neuer Tab ist.

2
David 4 Dez. 2013 im 16:11

Wenn Sie mehrere Dialoge innerhalb von Dialogen in einer Webanwendung öffnen, sollte Ihre Benutzeroberfläche möglicherweise überarbeitet werden, um den Webstandards besser zu entsprechen. Ein Dialogfeld in einem Browser eignet sich hervorragend zum Anzeigen oder für einfache Aktionen in einem Schritt. Darüber hinaus werden sie verwirrender und weniger nützlich.

0
dgarbacz 5 Dez. 2013 im 19:52

Verwenden Sie die Dialogfelder der JQuery-Benutzeroberfläche. Das Framework behandelt alle Browserunterschiede intern.

0
BlueChameleon 4 Dez. 2013 im 16:47