strg-n im ie verhindern
tischlamp
- browser
hallo
gibt es eine möglichkeit, dem user meiner website die möglichkeit zu entziehen ein neues fenster zu öffnen (strg-n)?
vielen dank
gibt es eine möglichkeit, dem user meiner website die möglichkeit zu entziehen ein neues fenster zu öffnen (strg-n)?
Nein.
gibt es eine möglichkeit, dem user meiner website die möglichkeit zu entziehen ein neues fenster zu öffnen (strg-n)?
Nein.
und JA du kannst wahrscheinlich nicht verhindern, dass ein Benutzer ein neues Fenster öffnet, ich wüsste auch nicht wozu das gut sein soll, aber du kannst verhindern, das jemand str und n gleichzeitig drückt.
Ich weiß zwar auswendig nicht wie, aber auf der folgenden Seite müsste alles stehen, setz dir einfach aus den verschiedenen Elementen ein Script zusammen.
Link:
http://msdn.microsoft.com/workshop/author/dhtml/reference/events/onkeydown.asp
und JA du kannst wahrscheinlich nicht verhindern, dass ein Benutzer ein neues Fenster öffnet, ich wüsste auch nicht wozu das gut sein soll, aber du kannst verhindern, das jemand str und n gleichzeitig drückt.
Interessant, das Thema habe ich auch gerade...
Das was Du beschreibst verhindert allerdings nicht, dass ich über das Menü Datei -> Neu -> Fenster aufrufe.
Und wozu das gut sein soll...hier beschreibt jemand das selbe Problem, dass ich auch habe und der Eröffner dieses Threads offenbar auch:
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=utf-8&threadm=OGbFP2paAHA.2228%40tkmsftngp02&rnum=6&prev=/groups%3Fq%3Dunique%2Bbrowser%2Binstance-id%26hl%3Den%26lr%3D%26ie%3DUTF-8%26oe%3Dutf-8%26selm%3DOGbFP2paAHA.2228%2540tkmsftngp02%26rnum%3D6
Grüsse, Marietta
Moin!
Und wozu das gut sein soll...hier beschreibt jemand das selbe Problem, dass ich auch habe und der Eröffner dieses Threads offenbar auch:
Im Google-Thread will jemand das unmögliche.
Es ist dort ein Session-Mechanismus im Gange. Sowas wird typischerweise über Cookies geregelt.
Für den IE gilt: Er kennt nur einen Satz Cookies, egal wie man neue Browserfenster aufruft. Wenn (wie im Google-Thread gewünscht) ein _zweites_ Login _neben_ dem ersten erfolgen soll, kann man das nicht mit cookiebasierter Session machen - oder muß dann (was wirklich eklig wäre) die Session-Daten als Array speichern und irgendein Identifikationsmerkmal über die URL oder POST-Formulare durchreichen, um zu entscheiden, welcher der zwei angemeldeten Accounts nun gemeint ist.
Die Lösung wäre, eben gerade _keine_ Cookies zu verwenden. Denn URL-basierte Session-IDs können je Browserfenster unterschiedlich sein - also ließen sich grundsätzlich zwei parallele Logins realisieren.
Allerdings: Wie im Google-Threas ausgeführt, würde das auch für den wissenden User ziemlich kompliziert werden, weil er irgendwie sichtbar sehen muß, welcher User-Accounte denn jetzt für irgendeines der angezeigten Fenster wirksam ist. Dabei kann man leicht durcheinanderkommen.
Womit ich kein Problem habe bzw. was ich mir immer sehr wünsche (und weswegen ich wenig Verständnis habe, wenn Leute es abschalten wollen), wenn man mit einem Browser und _einem_ Login _mehrere_ Fenster offen hat. Sowas wäre für meine Produktivität sehr förderlich, und es ist mit den üblichen Session-Mechanismen (allen voran Cookies) auch problemlos realisierbar, Eingaben von mehreren Fenstern zu einem Gesamtdatensatz zusammenzuführen.
- Sven Rautenberg
Womit ich kein Problem habe bzw. was ich mir immer sehr wünsche (und weswegen ich wenig Verständnis habe, wenn Leute es abschalten wollen), wenn man mit einem Browser und _einem_ Login _mehrere_ Fenster offen hat. Sowas wäre für meine Produktivität sehr förderlich, und es ist mit den üblichen Session-Mechanismen (allen voran Cookies) auch problemlos realisierbar, Eingaben von mehreren Fenstern zu einem Gesamtdatensatz zusammenzuführen.
Hallo Sven,
auch das ist Teil des Problems: Öffne ich über STRG-N ein Fenster B aus dem aktiven Fenster A (in dem ich bereits eingeloggt bin) heraus, so nehme ich das Session-Cookie und somit die Session mit. Ändere ich etwas im Fenster B so hat dies Einfluss auf die Session-Daten, die ja auch für Fenster A gelten. Angenommen es existiert ein Edit-Dialog und die ID des Elementes welches editiert werden soll steht nicht in Cookies oder als URL-Parameter zur Verfügung (warum auch immer - so ist es in meiner Applikation jedenfalls umgesetzt) so kann es passieren, dass ich in Fenster A und B den selben Edit-Dialog für verschiedene Elemente geöffnet habe, das zuletzt geöffnete Fenster aber letztlich darüber bestimmt was gespeichert wird, wenn ich die jeweiligen Formulare abschicke. Hm, habe ich mich verständlich ausgedrückt?
Grüsse,
Marietta
Moin!
auch das ist Teil des Problems: Öffne ich über STRG-N ein Fenster B aus dem aktiven Fenster A (in dem ich bereits eingeloggt bin) heraus, so nehme ich das Session-Cookie und somit die Session mit. [...] Hm, habe ich mich verständlich ausgedrückt?
Absolut.
Es ist das Risiko des Benutzers, dass er widersprüchliche und sich gegenseitig nicht aktualisierende Anzeigen und Stände sieht, wenn er mehrere Fenster benutzt. Ein informierter User (einer, der weiß, was er tut) wird deshalb beispielsweise das Hauptmenü mit mehreren Fenstern verlassen, nicht aber aus einem Datensatzbearbeitungslink heraus zwei Fenster öffnen, zuerst in dem einen, dann in dem anderen Den Datensatz bearbeiten und diesen speichern, und sich hinterher wundern, dass nur die Hälfte der Daten (nämlich die letzten gesendeten) in der Datenbank stehen.
Aber selbst dagegen kann man etwas tun. Da ja nicht auszuschließen ist, dass nicht nur ein Nutzer zwei Fenster desselben Datensatzes offen hat, sondern prinzipiell mehrere Nutzer parallel denselben Datensatz bearbeiten, hast du grundsätzlich das Problem, dass du parallele Datensatzänderungen irgendwie zusammenführen mußt.
Entweder sperrst du den Datensatz bei Öffnung in einem Benutzerfenster - dann kriegt sowohl der gleiche Benutzer als auch jeder andere Benutzer bei erneutem Bearbeitungsversuch eine Fehlermeldung.
Oder du speicherst nur die Änderungen, die am Datensatz erfolgt sind, und nicht grundsätzlich das gesamte Formular. Wenn also ein Fenster die Straße und ein anderes den Namen ändert, dann beeinflussen sich diese Änderungen nicht gegenseitig. Das ist natürlich aufwendig, ließe sich aber grundsätzlich durch eine Dopplung der Formularfelder (jedes Datum ist einmal als bearbeitbares Feld und einmal als festes hidden-Feld vorhanden, um Änderungen im Formular festzustellen) realisieren.
Du siehst: Allein deshalb, weil ein Webserver kein Einzelbenutzersystem ist, sondern immer parallel mehrere Benutzer bedienen kann und muß, ist die Forderung, je Benutzer nur ein einziges Fenster zuzulassen, sehr unsinnig. Man muß mehrere Benutzer unter einen Hut bekommen. Dass zwei Fenster unter Umständen auch nur einem einzigen Benutzer gehören können, ist ein irrelevanter Sonderfall.
Und genau deshalb macht es keinen Sinn, irgendwie das Erstellen neuer Fenster zu verhindern.
- Sven Rautenberg
gibt es eine möglichkeit, dem user meiner website die möglichkeit zu entziehen ein neues fenster zu öffnen (strg-n)?
Nein.
und JA
Nein. Nicht brauchbar. Schon mal was von Sticky Keys gehört? Oder anderen netten Client-Einstellungen? Wenn es die Anwendung aus dem Ruder wirft - vergiß es als Lösung. Das Problem liegt wo anders.
Hi,
aber du kannst verhindern, das jemand str und n gleichzeitig drückt.
Das demonstriere doch bitte mal.
Wie geht das?
Werden die Tasten aus meiner Tastatur entfernt?
Oder wie verhinderst Du, daß ich die Tasten drücke?
http://msdn.microsoft.com/workshop/author/dhtml/reference/events/onkeydown.asp
Hier wird höchstens auf den Tastendruck reagiert, aber verhindert wird er definitiv nicht.
cu,
Andreas
hi,
gibt es eine möglichkeit, dem user meiner website die möglichkeit zu entziehen ein neues fenster zu öffnen (strg-n)?
self.close() vielleicht?
gruss,
wahsaga