"window.location.href" streikt in Netscape und Firefox
der_rocka
- javascript
0 Ingo Turski0 Ashura0 der_rocka0 Ingo Turski5 molily
Hallo, ich hab ein Problem mit JavaScript.
Und zwar hab ich zur Erkennung von Opera eine kleine Funktion geschrieben:
function check()
{
var browser = navigator.userAgent.toLowerCase();
var suche = browser.indexOf("opera");
if (suche != -1)
{
var opera = browser.substr(suche, 5);
window.location.href = "opera/opera.html";
}
else
{
window.location.href = "main.htm";
}
}
Im IE und Opera funktioniert sie auch einwandfrei, nur in Firefox und Netscape läd der Browser die "main.htm" Datei nur "an" und kommt dann wieder zürck zur Seite in dem per Klick die Abfrage gestartet wird.
Wodran liegt das das NetsCape und FireFox nicht direkt auf die "main.htm" springen?
Bin dankbar für jede Hilfe
mfg basti
Hi,
ich weiß zwar nicht, warum Du Opera hier eine Spezialseite geben willst, aber den UA solltest Du hierfür nicht zu Rate ziehen. Opera - und insb. andere Browser - kannst Du besser über die Unterstützung von window.opera erkennen.
freundliche Grüße
Ingo
Hallo Ingo.
Opera - und insb. andere Browser - kannst Du besser über die Unterstützung von window.opera erkennen.
Aber auch das ist absolut nicht verlässlich, da mittels User-JS im Opera das window.opera-Objekt entfernt werden kann.
Gruß, Ashura
Vielen Dank erstmal für die schnellen Infos, leider kann ich damit nicht viel anfangen bzw. komme damit nicht weiter.
Mein Problem ist eigentlich nur warum NetsCape und FireFox den Befehl
"window.location.href = "main.htm";" nicht richtig umsetzten.
mfg basti
Hi,
leider kann ich damit nicht viel anfangen
doch: Du solltest nun wissen, daß Du nicht sicher sein kannst, andere Browser fälschlich als Opera zu identifizieren.
Mein Problem ist eigentlich nur warum NetsCape und FireFox den Befehl
"window.location.href = "main.htm";" nicht richtig umsetzten.
Dazu kann Dir ohne weitere Infos wohl auch kaum geholfen werden, denn wenn diese Broweser die Seite "anladen", dann setzen sie die Anweisung offensichtlich auch um.
freundliche Grüße
Ingo
Aber über "navigator.userAgent" bekomme ich z.B. bei Opera
mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; en) opera 8.0
ausgegeben.
Also könnte ich einen String ja direkt auf "opera" durchsuchen lassen, weils doch nur im echten Opera vorkommt.
Mein Problem ist einfach das Opera bei IFrame Tags spinnt und ich
in meiner Seite IFrame habe.
Daher will ich bevor die Seite gestartet wir überprüfen ob es sich
um Opera handelt, ohne das der Benutzer selbst auf nen Auswahl BUton klickt,
hi,
Mein Problem ist einfach das Opera bei IFrame Tags spinnt und ich
in meiner Seite IFrame habe.
dann hast du ziemlich sicher etwas falsch gemacht.
gruß,
wahsaga
dann hast du ziemlich sicher etwas falsch gemacht.
Leider nicht, Opera ist dafür bekannt das er Iframes, die eigentlich eher IE bezogen sind, nicht richtig deutet.
Gruß Basti
hi,
Leider nicht, Opera ist dafür bekannt das er Iframes, die eigentlich eher IE bezogen sind, nicht richtig deutet.
du redest hochgradigen unsinn, und hast offenbar wenig ahnung.
(tritt den eventuellen gegenbeweis bitte nicht mit noch mehr so halbgaren behauptungen an, sondern untermauere ihn wenn dann bitte mit einem nachvollziehbaren und standardkonformen beispiel.)
gruß,
wahsaga
Wer möchte kann sich gerne meine eigene Seite (http://www.der-rocka.de) zunächst einmal im IE und danach in Opera anschauen.
In der mitte befindet sich ein IFrame, welches im IE korrekt angezeigt wird und im Opera 8.0 und 7.54 fehlerhaft angezeigt wird.
Davon kann sich jeder überzeugen.
Von Unsinn kann also keine Rede sein!
Um dieses Problem zu umgehen wollte ich diese Abfrage einbauen, damit der Benutzer nicht klicken muss, sondern auf die entsprechende Seite geleitet wird.
Aber ist ja alles Unsinn.
Trotzdem vielen Dank für die "Hilfen".
hi,
Wer möchte kann sich gerne meine eigene Seite (http://www.der-rocka.de) zunächst einmal im IE und danach in Opera anschauen.
In der mitte befindet sich ein IFrame, welches im IE korrekt angezeigt wird und im Opera 8.0 und 7.54 fehlerhaft angezeigt wird.
Davon kann sich jeder überzeugen.
Von Unsinn kann also keine Rede sein!
es kann sogar von großem unsinn die rede sein - alleine die seite http://www.der-rocka.de/index-datein/main.htm enthält - wenn man man großzügig HTML 4.01 transitional als doctype annehmen lässt - 27 Fehler.
(noch nicht mal die absolut anspruchslose vorschaltseite hast du fehlerlos hinbekommen, dort 4 fehler).
Um dieses Problem zu umgehen wollte ich diese Abfrage einbauen, damit der Benutzer nicht klicken muss, sondern auf die entsprechende Seite geleitet wird.
Aber ist ja alles Unsinn.
ja, das ist unsinn.
beseitige erst mal die fehler, anstatt irgendwelche sinnfreien "abfragen" einzubauen, die bestimmte nutzer sonstwohin umleiten.
Trotzdem vielen Dank für die "Hilfen".
du kriegst hier die besten hilfen, die du kriegen kannst.
jetzt musst du nur mal bereit sein, sie auch anzunehmen - und deine eigenen fehler einsehen und ausbessern, anstatt auf grund eigener unfähigkeit laut "blöder browser xy" zu brüllen.
gruß,
wahsaga
Hi,
es kann sogar von großem unsinn die rede sein - alleine die seite http://www.der-rocka.de/index-datein/main.htm enthält - wenn man man großzügig HTML 4.01 transitional als doctype annehmen lässt - 27 Fehler.
Ich sehe bei diesen Fehlern (sofern es denn wirkliche Fehler sind) allerdings spontan keinerlei Relevanz bezügl. IFrames.
(noch nicht mal die absolut anspruchslose vorschaltseite hast du fehlerlos hinbekommen, dort 4 fehler).
Hier handelt es sich IMHO um überhaupt keine "Fehler", sondern eher um "Glaubensfragen". >;->
Gruß, Cybaer
Hi,
Leider nicht, Opera ist dafür bekannt das er Iframes, die eigentlich eher IE bezogen sind, nicht richtig deutet.
IFrames sind HTML-Standard. Formuliere treffender: Opera ist bekannt für diverse Fehler. 8->
Gruß, Cybaer
Hallo der_rocka.
Aber über "navigator.userAgent" bekomme ich z.B. bei Opera
mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; en) opera 8.0
ausgegeben.
Also könnte ich einen String ja direkt auf "opera" durchsuchen lassen, weils doch nur im echten Opera vorkommt.
Drum lies auch du diesen Artikel: Strange Browser Detection.
Gruß, Ashura
Hi,
Also könnte ich einen String ja direkt auf "opera" durchsuchen lassen, weils doch nur im echten Opera vorkommt.
Unsinn. Ich kann, wenn ich Spaß dran habe, meinen Firefox und sogar meinen IE so konfigurieren, daß er sich als Opera meldet.
freundliche Grüße
Ingo
Hi,
Aber auch das ist absolut nicht verlässlich, da mittels User-JS im Opera das window.opera-Objekt entfernt werden kann.
ach - sowas geht? Aber ich muß zugeben, daß ich beim Opera 8 noch nicht mal die Grundfunktionen alle durchschaue und damit nicht wirklich surfen könnte. ;-)
freundliche Grüße
Ingo
Hallo Ingo.
Aber auch das ist absolut nicht verlässlich, da mittels User-JS im Opera das window.opera-Objekt entfernt werden kann.
ach - sowas geht?
Ja. -> Strange Browser Detection.
Aber ich muß zugeben, daß ich beim Opera 8 noch nicht mal die Grundfunktionen alle durchschaue und damit nicht wirklich surfen könnte. ;-)
Kann ich aus meinen Anfangszeiten gut nachvollziehen.
Aber wenn man sich einmal an die unzähligen (und es sind unzählige) Details gewöhnt hast, will man Opera auf keinen Fall mehr missen. :-)
Gruß, Ashura
Hi,
Aber ich muß zugeben, daß ich beim Opera 8 noch nicht mal die Grundfunktionen alle durchschaue und damit nicht wirklich surfen könnte. ;-)
Kann ich aus meinen Anfangszeiten gut nachvollziehen.
Aber wenn man sich einmal an die unzähligen (und es sind unzählige) Details gewöhnt hast, will man Opera auf keinen Fall mehr missen. :-)
das mag ja sein. Aber beim Opera 8 benötigt man selbst für relativ einfache Bedienungen ein Tutorial. So habe ich z.B. aus Platzgründen die Seitenleiste ausgeblendet. Nun hatte ich rechts die Lesezeichen und klickte mal (ohne zu wissen was passieren würde) auf den Doppelpfeil ganz rechts. Oops ... die angezeigte Seite war weg und auch über keinen Menüpunkt sofort zu erreichen. Ja noch nicht einmal eine URL läßt sich dann eingeben. Und den nun wirklich zum Standard gehörenden Hauptmenüpunkt "Fenster" sucht man vergeblich.
Unter "Datei" kann man dann ein - größenmäßig unpassendes - neues Fenster öffnen ... auch nicht gerade das, was ich wollte.
Ok, inzwischen weiß ich, daß man tunlichst auf die Seitenleiste nicht verzichten sollte, aber warum läßt die sich überhaupt ausblenden, wenn sie so immanent wichtig ist?
Ich will damit den Opera nicht schlecht reden, aber intuitiv bedienen läßt er sich wirklich nicht. Und manche Tooltips sind schon sehr merkwürdig, wie z.B. "Geschlossene" über dem Papierkorb.
freundliche Grüße
Ingo
Hallo Ingo.
So habe ich z.B. aus Platzgründen die Seitenleiste ausgeblendet.
Dann lassen sich die Tabs aber nur noch per Mausgeste bzw. Tastenkombi bedienen.
Nun hatte ich rechts die Lesezeichen und klickte mal (ohne zu wissen was passieren würde) auf den Doppelpfeil ganz rechts.
Hm? Welcher Doppelpfeil? Redest du von der Paneele?
Oops ... die angezeigte Seite war weg und auch über keinen Menüpunkt sofort zu erreichen.
Wenn du sie wirklich geschlossen hast, kannst du auf den Mülleimer klicken und sie (aus dem Cache!) wiederholen. Dasselbe geht auch über [Fenster]->[Geschlossene >].
Ja noch nicht einmal eine URL läßt sich dann eingeben.
Ich frage mich wirklich, welche Symbolleisten du alles erwischt hast. ;-)
Und den nun wirklich zum Standard gehörenden Hauptmenüpunkt "Fenster" sucht man vergeblich.
Ja, der ist aufgrund des neuen Tab-Konzepts abhanden gekommen. Ist aber auch kein Problem:
[Extras] -> [Einstellungen] -> |Allgemein| -> [ ] »Schließen« Symbol in jedem Tab anzeigen.
Damit taucht der Menüpunkt [Fenster] wieder auf. :-)
Unter "Datei" kann man dann ein - größenmäßig unpassendes - neues Fenster öffnen ... auch nicht gerade das, was ich wollte.
Was wolltest du denn? Du kannst auch einfach einen Mittelklick auf die Seitenleiste machen, oder [Strg]+[N] drücken, oder eine Mausgeste nach unten machen. Du siehst, die Auswahl ist groß.
Ok, inzwischen weiß ich, daß man tunlichst auf die Seitenleiste nicht verzichten sollte, aber warum läßt die sich überhaupt ausblenden, wenn sie so immanent wichtig ist?
Weil Opera dafür bekannt ist, „vollkommen konfigurierbar“ zu sein.
Ich kann nun z. B.--dank einem Artikel aus dem von mir verlinkten Blog--die gesamte Menüleiste ausblenden, wenn ich sie nicht brauche. Somit kann ich viel mehr Platz für Seiten schaffen.
Ich will damit den Opera nicht schlecht reden, aber intuitiv bedienen läßt er sich wirklich nicht.
Du wirst mir sicher zustimmen: Gewohnheitssache. ;-)
Und manche Tooltips sind schon sehr merkwürdig, wie z.B. "Geschlossene" über dem Papierkorb.
Naja, du hast die jeweilige Seite ja „weggeworfen“. ;-)
Gruß, Ashura
Hi,
So habe ich z.B. aus Platzgründen die Seitenleiste ausgeblendet.
Dann lassen sich die Tabs aber nur noch per Mausgeste bzw. Tastenkombi bedienen.
die man natürlich kennen muß. Ich bin bis heute noch nicht dahinter gekommen, muß aber zugeben, daß ich:
"Sie haben gerade Ihre erste Mausgeste ausgeführt.
Mausgesten werden aktiviert, wenn Sie die sekundäre (rechte) Maustaste während einer Mausbewegung gedrückt halten und danach dann loslassen.
Klicken Sie auf [Hilfe], um mehr über Mausgesten zu lernen.
Möchten Sie die Mausgesten weiterhin verwenden?"
bisher immer verneint hatte. ;-)
Hm? Welcher Doppelpfeil? Redest du von der Paneele?
Ja: "Lesezeichen » x "
wobei mir der Sinn für diesen Doppelpfeil nach rechts nun wirklich nicht einleuchtet.
Oops ... die angezeigte Seite war weg und auch über keinen Menüpunkt sofort zu erreichen.
Wenn du sie wirklich geschlossen hast, kannst du auf den Mülleimer klicken und sie (aus dem Cache!) wiederholen. Dasselbe geht auch über [Fenster]->[Geschlossene >].
nö. erstens hatte ich sie nicht geschlossen und zweitens ist der Mülleimer nicht sichtbar (nur in der ausgeblendeten Seitenleiste) und drittens habe ich wie gesagt keinen Menüpunkt "Fenster".
Ich frage mich wirklich, welche Symbolleisten du alles erwischt hast. ;-)
Kann ich Dir gerne zeigen. ;-)
In diesem rechten Paneel hatte ich es übrigens vorher mal irgendwie geschafft, die normalerweise nur beim Laden angezeigten Seiteninformationen dauerhaft anzuzeigen. Nur waren dann beim Neustart leider die Lesezeichen an dieser Stelle. Murks. :-(
Aber stelle Dir anhand dieses Screenshots mal die Situation vor: ein neuer Opera-User, der es wie ich geschafft, sich etwas Platz für die Anzeige der Seiten einzustellen (um die Werbung zu kompensieren), ist gerade auf einer Bestellseite mit Session-ID etc. und klickt dummerweise auf besagten Doppelpfeil... Er wird den Browser vermutlich schließen müssen und von vorne mit der Bestellung anfangen müssen - und künftig vielleicht doch lieber einen anderen Browser nutzen.
[Extras] -> [Einstellungen] -> |Allgemein| -> [ ] »Schließen« Symbol in jedem Tab anzeigen.
Damit taucht der Menüpunkt [Fenster] wieder auf. :-)
nicht bei mir - hatte ich bereits so.
Was wolltest du denn? Du kannst auch einfach einen Mittelklick auf die Seitenleiste machen,
...die ich wie gesagt ausgeblendet hatte.
oder [Strg]+[N] drücken,
ach komm... ich merk' mir doch keine Shortcuts.
oder eine Mausgeste nach unten machen.
s.o. ;-)
Du siehst, die Auswahl ist groß.
aber wie gesagt nur für Kenner dieses Programms.
Ich denke, daß ich mich wirklich mit allen möglichen und unmöglichen Bedienungen zurecht finde, aber bei Opera bin ich kläglich gescheitert. Für mich ist dieses Programm ohne intensive Einarbeitung nutzlos und für "DAU"s sowieso. Wenn Firefox mit einer solchen Bedienung angekommen wäre, hätte dieser Browser längst nicht so viele IE-User auf seine Seite ziehen können.
Den Opera 7.x fand ich übrigens wesentlich benutzerfreundlicher.
freundliche Grüße
Ingo
Hallo Ingo.
die man natürlich kennen muß. Ich bin bis heute noch nicht dahinter gekommen, muß aber zugeben, daß ich:
"Sie haben gerade Ihre erste Mausgeste ausgeführt.
Mausgesten werden aktiviert, wenn Sie die sekundäre (rechte) Maustaste während einer Mausbewegung gedrückt halten und danach dann loslassen.
Klicken Sie auf [Hilfe], um mehr über Mausgesten zu lernen.
Möchten Sie die Mausgesten weiterhin verwenden?"
> bisher immer verneint hatte. ;-)
Entschuldigung aber: selbst schuld. ;-)
Mausgesten sind die beste Erfindung seit was-weiß-ich (ja, auch ich habe diese Abfrage in den Anfangsphasen erschrocken immer verneint.)
> > Hm? Welcher Doppelpfeil? Redest du von der Paneele?
> Ja: "Lesezeichen » x "
> wobei mir der Sinn für diesen Doppelpfeil nach rechts nun wirklich nicht einleuchtet.
Der bedeutet: Erweitern. Damit erweiterst du die aktuelle Auswahl in der Paneele auf einen ganzen Tab, um somit mehr Platz dafür zu schaffen.
Aber im Gegensatz zu dir wird bei mir kein Tab „überschrieben“, sondern einfach ein neuer Tab daneben geöffnet.
> Kann ich Dir gerne [zeigen](http://www.isis.de/~iturski/pics/opera.png). ;-)
> In diesem rechten Paneel hatte ich es übrigens vorher mal irgendwie geschafft, die normalerweise nur beim Laden angezeigten Seiteninformationen dauerhaft anzuzeigen.
[F4] -> Paneele Toggle.
> Nur waren dann beim Neustart leider die Lesezeichen an dieser Stelle. Murks. :-(
Weil die auch unter der Paneele neben „Info“, „Fenster“, „Links“, „Verlauf“, „Transfer“ und „Notizen“ aufgelistet sind. Kann sein, dass sie standardmäßig angezeigt werden, wenn die Paneele aufgerufen wird.
> Aber stelle Dir anhand dieses Screenshots mal die Situation vor: ein neuer Opera-User, der es wie ich geschafft, sich etwas Platz für die Anzeige der Seiten einzustellen (um die Werbung zu kompensieren), ist gerade auf einer Bestellseite mit Session-ID etc. und klickt dummerweise auf besagten Doppelpfeil...
Warum sollte er das tun? Zugegeben, Opera verlangt etwas Einarbeitung, dafür entschädigt das Resultat aber auch die Mühen vollends.
(Würde man die Seitenleiste nicht ausblenden, würde man sehen, dass der Inhalt der Paneele nur auf einen Tab erweitert wurde und die Originalseite noch immer offen ist.)
> > [Extras] -> [Einstellungen] -> |Allgemein| -> [ ] »Schließen« Symbol in jedem Tab anzeigen.
> >
> > Damit taucht der Menüpunkt [Fenster] wieder auf. :-)
> nicht bei mir - hatte ich bereits so.
Wie sieht das anderer Auswahlfeld bei dir aus? ([ ] Seiten in neuen Tabs öffnen) Ich habe die Ausgangskonfiguration nicht mehr im Kopf.
> > oder [Strg]+[N] drücken,
> ach komm... ich merk' mir doch keine Shortcuts.
Aber [Alt]+[F4] sagt dir etwas? ;-)
> > Du siehst, die Auswahl ist groß.
> aber wie gesagt nur für Kenner dieses Programms.
Richtig.
> Für mich ist dieses Programm ohne intensive Einarbeitung nutzlos und für "DAU"s sowieso.
Da muss ich dir wohl Recht geben. Meine ersten Schritte mit Opera sahen auch nicht anders aus.
> Wenn Firefox mit einer solchen Bedienung angekommen wäre, hätte dieser Browser längst nicht so viele IE-User auf seine Seite ziehen können.
Wofür ich ihm zu ewigem Dank verpflichtet bin.
Gruß, Ashura
--
Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
[30 Days to becoming an Opera8 Lover](http://tntluoma.com/opera/lover/8/) -- [Day 19: Notes](http://operalover.tntluoma.com/8/day_19_notes)
Meine Browser: Opera 8.0 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
[\[Deshalb frei! - Argumente pro freie Software\]](http://deshalbfrei.org/)
Hi,
Mausgesten sind die beste Erfindung seit was-weiß-ich (ja, auch ich habe diese Abfrage in den Anfangsphasen erschrocken immer verneint.)
Siehste - wir verstehen uns doch. ;-)
wobei mir der Sinn für diesen Doppelpfeil nach rechts nun wirklich nicht einleuchtet.
Der bedeutet: Erweitern.
Unlogisch, da wird nichts erweitert, sondern geöffnet.
[F4] -> Paneele Toggle.
wieder ein Shortcut, den ich (vorher) wissen und mir gemerkt haben müßte.
Weil die auch unter der Paneele neben „Info“, „Fenster“, „Links“, „Verlauf“, „Transfer“ und „Notizen“ aufgelistet sind. Kann sein, dass sie standardmäßig angezeigt werden, wenn die Paneele aufgerufen wird.
Ja, aber warum? Ich wollte da doch niemals Lesezeichen sehen...
Warum sollte er das tun? Zugegeben, Opera verlangt etwas Einarbeitung, dafür entschädigt das Resultat aber auch die Mühen vollends.
Das mag stimmen, nur bin ich noch nicht so weit und da ich das Werbungskonzept nicht mag und deswegen den Opera nicht so intensiv nutze, als daß ich die Vorteile ggü. Firefox schätzen lernen könnte... Pech (auch für Opera).
Wie sieht das anderer Auswahlfeld bei dir aus? ([ ] Seiten in neuen Tabs öffnen)
Mit [x]. Weiß aber nicht, ob das die Ausgangskonfiguration war.
Aber [Alt]+[F4] sagt dir etwas? ;-)
Schon - aber wenn ich nicht weiß, ob ich damit den Opera komplett schließe...
freundliche Grüße
Ingo
Hallo Ingo.
Der bedeutet: Erweitern.
Unlogisch, da wird nichts erweitert, sondern geöffnet.
Hm... Sagen wir: das Duplikat wird vergrößert. ;-)
[F4] -> Paneele Toggle.
wieder ein Shortcut, den ich (vorher) wissen und mir gemerkt haben müßte.
Ja, tut mir leid. Macht der Gewohnheit.
Weil die auch unter der Paneele neben „Info“, „Fenster“, „Links“, „Verlauf“, „Transfer“ und „Notizen“ aufgelistet sind. Kann sein, dass sie standardmäßig angezeigt werden, wenn die Paneele aufgerufen wird.
Ja, aber warum? Ich wollte da doch niemals Lesezeichen sehen...
Wie gesagt, weiß ich es nicht genau, da bei mir immer der zuletzt angewählte Paneelenpunkt erscheint, wenn ich die Paneele wieder öffne.
An welcher Stelle es da nun hängt, kann ich nicht sagen.
Das mag stimmen, nur bin ich noch nicht so weit und da ich das Werbungskonzept nicht mag und deswegen den Opera nicht so intensiv nutze, als daß ich die Vorteile ggü. Firefox schätzen lernen könnte... Pech (auch für Opera).
Und das steht dir auch frei. Entweder Opera gefällt dir und du nutzt ihn (und kaufst dir vielleich sogar eine Lizenz) oder du schmeißt in von deinem System runter und wirst mit einem anderen Browser zufrieden.
Vielleicht wird Opera eines Tages noch benutzerfreundlicher und du versuchst es noch einmal. :-)
Wie sieht das anderer Auswahlfeld bei dir aus? ([ ] Seiten in neuen Tabs öffnen)
Mit [x]. Weiß aber nicht, ob das die Ausgangskonfiguration war.
Wahrscheinlich, bei mir ist das ebenso.
Ich habe es eben noch einmal überprüft:
[x] »Schließen« Symbol in jedem Tab anzeigen
-> Menüpunkt [Fenster] verschwindet, [x]-Schaltflächen tauchen auf jedem Tab auf.
[ ] »Schließen« Symbol in jedem Tab anzeigen
-> Menüpunkt [Fenster] taucht auf, [x]-Schaltflächen verschwinden von jedem Tab.
Wenn das bei dir nicht der Fall ist, kann etwas an deinem Opera nicht stimmen.
Aber [Alt]+[F4] sagt dir etwas? ;-)
Schon - aber wenn ich nicht weiß, ob ich damit den Opera komplett schließe...
Wenn du keinen Mailaccount eingerichtet hast, schließt du damit Opera komplett. Wenn doch, verbleibt Opera der Mails wegen AFAIK im Tray.
Gruß, Ashura
Hallo,
Opera - und insb. andere Browser - kannst Du besser über die Unterstützung von window.opera erkennen.
Aber auch das ist absolut nicht verlässlich, da mittels User-JS im Opera das window.opera-Objekt entfernt werden kann.
Verzeihung, ich weiß beim besten Willen nicht, was dieser spitzfindige Einwand soll.
»Absolut nicht verlässlich«? Wenn jemand seinen Browser kaputtkonfiguriert, kann die Seite nicht damit rechnen, dass der Browser irgendwie konsistent reagiert. Was ist das für eine Erkenntnis? Die macht einen kein bisschen schlauer. Genausowenig eröffnet sie irgendwelche alternative Handlungsmöglichkeiten. Man kann sie getrost vergessen.
Freilich, Browserweichen sind per se problematisch, und es versteht sich von selbst, dass sie nicht hundert Prozent verlässlich sind. Das weiß man aber auch, ohne das Totschlagargument »wenn ich will, kann ich meinen Browser dermaßen kaputtkonfigurieren, dass man es niemals schafft, etwaigem Fehlverhalten durch Browsererkennungen zu begegnen« zu bringen. Mit dem Argument kann man auch »Funktionsweichen« in JavaScript totschlagen, die direkter abfragen, ob ein Fehler existiert. Es ist aber nun einmal ein Fakt, dass es etliche Browserfehler gibt, die man mit Hacks umgehen kann und zuweilen muss, während diese Hacks nicht direkt, sondern nur über den Browsernamen in Erfahrungen bringen können, ob der Fehler auftritt.
Das Nachdenken über das sinnlose Kaputtkonfigurieren von fehlerhaften und daher Hack-bedürftigen Browsern führt daher zu nichts und führt einem nichtmal das wirkliche Dilemma vor Augen. Wenn man also irgendwann genötigt ist, eine Browserweiche zu verwenden und einem nichts übrig bleibt, als window.opera abzufragen, dann soll man es in Gottes Namen auch - und muss notwendigerweise diejenigen, die ihren Browser mutwillig willkürlich reagieren lassen, ignorieren. Beziehungsweise, wenn diejenigen dann den Browserfehler zu sehen bekommen, weil der Hack nicht greift, sind auch selbst Schuld, wenn sie dem Seitenautor gleich in zweifacher Hinsicht Stöcke zwischen die Beine werfen.
Kopfschüttelnde Grüße,
Mathias
Hallo molily.
Verzeihung, ich weiß beim besten Willen nicht, was dieser spitzfindige Einwand soll.
Dann erkläre ich es dir.
»Absolut nicht verlässlich«? Wenn jemand seinen Browser kaputtkonfiguriert, kann die Seite nicht damit rechnen, dass der Browser irgendwie konsistent reagiert.
Ich habe in diesem Thread hier niemanden von „Kaputtkonfigurieren“ schreiben gesehen.
Die Entfernung des window.opera-Objektes dient in meinen Augen einzig und allein dem Zweck, Seiten zu überlisten, die mutwillig Browser aussperren, die über dieses Objekt verfügen. (Eben Opera.)
Was andere damit bewerkstelligen ist nicht meine Sache. Ich surfe grundsätzlich mit dem UA-String, der auch zu meinem Browser gehört, ich habe es nicht nötig, einen anderen vorzutäuschen.
Was ist das für eine Erkenntnis? Die macht einen kein bisschen schlauer. Genausowenig eröffnet sie irgendwelche alternative Handlungsmöglichkeiten. Man kann sie getrost vergessen.
Sie eröffnet _mir_ durchaus Handlungsmöglichkeiten. (Ich = Surfer, Ich != Webmaster)
Freilich, Browserweichen sind per se problematisch, und es versteht sich von selbst, dass sie nicht hundert Prozent verlässlich sind. Das weiß man aber auch, ohne das Totschlagargument »wenn ich will, kann ich meinen Browser dermaßen kaputtkonfigurieren, dass man es niemals schafft, etwaigem Fehlverhalten durch Browsererkennungen zu begegnen« zu bringen.
Ich wollte auf eine Kleinigkeit hinweisen, die unter Umständen bei Browserweichen--so sie denn unbedingt erforderlich sind--eingebaut werden können. Opera kann man schließlich nicht nur am window.opera-Objekt erkennen.
Es ist aber nun einmal ein Fakt, dass es etliche Browserfehler gibt, die man mit Hacks umgehen kann und zuweilen muss, während diese Hacks nicht direkt, sondern nur über den Browsernamen in Erfahrungen bringen können, ob der Fehler auftritt.
Richtig. Dagegen habe ich auch nichts. Ich mag es nur nicht, wenn man mich „aussperrt“. Wenn mittels Browsererkennung Fehler korrigiert werden sollen, soll der Autor meinetwegen machen, was er will. Letztendlich entscheide ich sowieso, wie ich die Seite dargestellt haben möchte.
Das Nachdenken über das sinnlose Kaputtkonfigurieren von fehlerhaften und daher Hack-bedürftigen Browsern führt daher zu nichts und führt einem nichtmal das wirkliche Dilemma vor Augen.
Das ist auch richtig. Aber wie ich schon beteuerte, sprach ich keinesfalls vom „Kaputtkonfigurieren“.
Wenn man also irgendwann genötigt ist, eine Browserweiche zu verwenden und einem nichts übrig bleibt, als window.opera abzufragen, dann soll man es in Gottes Namen auch - und muss notwendigerweise diejenigen, die ihren Browser mutwillig willkürlich reagieren lassen, ignorieren.
Ja. Das ist dann die eigene Verantwortung desjenigen, der das zur Abfrage erforderliche Objekt entfernt hat. Aber wenn er es schon eigenmächtig und willentlich entfernt hat, kann man davon ausgehen, das er weiß, was er tut und wie die Folgen aussehen können.
Beziehungsweise, wenn diejenigen dann den Browserfehler zu sehen bekommen, weil der Hack nicht greift, sind auch selbst Schuld, wenn sie dem Seitenautor gleich in zweifacher Hinsicht Stöcke zwischen die Beine werfen.
Siehe oben.
Gruß, Ashura
Hallo,
Freilich, Browserweichen sind per se problematisch, und es versteht sich von selbst, dass sie nicht hundert Prozent verlässlich sind. Das weiß man aber auch, ohne das Totschlagargument »wenn ich will, kann ich meinen Browser dermaßen kaputtkonfigurieren, dass man es niemals schafft, etwaigem Fehlverhalten durch Browsererkennungen zu begegnen« zu bringen.
Ich wollte auf eine Kleinigkeit hinweisen, die unter Umständen bei Browserweichen--so sie denn unbedingt erforderlich sind--eingebaut werden können. Opera kann man schließlich nicht nur am window.opera-Objekt erkennen.
Den Punkt erkenne ich prinzipiell an. Den Hinweis in allen Ehren, aber ich halte ihn bei der Frage, wie man am besten Opera erkennt, für nicht relevant.
Wenn man einen Opera als Opera zuverlässig erkennen will, dann ist window.opera definitiv das Mittel der Wahl. Die Erkennung über die Existenz von Objekten, die zum einen mit dem Hack sowieso nichts zu tun haben, zum anderen auch nur indirekt dazu dienen, um den Browser zu erschließen, ist mit Sicherheit noch unzuverlässiger. window.opera wurde genau deshalb geschaffen: Damit die Webautoren keine Erkennung über irgendwelche Objekte durchführen müssen, von denen man *momentan* zu wissen *glaubt*, ihre Existenz bedeute zwangsläufig die Verwendung des Opera-Browsers. Selbst wenn man beachtet, dass vielleicht einer unter hunderttausend Besuchern das window.opera-Objekt gefälscht hat, ist daher window.opera immer noch zuverlässiger und zukunftssicherer.
Im übrigen finden sich in der verlinkten Tabelle, soweit ich das sehe, kein einziges Merkmal, anhand dessen man eindeutig Opera erkennen könnte. Also muss man mehrere positive und negative Merkmale testen. Das scheint nicht kompliziert, aber Komplexität bedeutet hier Fehleranfälligkeit. Man kann eine solcher Erkennung auch schlecht zusätzlich zur Absicherung einer window.opera-Abfrage einsetzen.
Kristof stellt z.B. folgende Erkennung vor, die ohne window.opera auskommt:
if (!window.pkcs11 && !document.defaultCharset && !document.createRange) { alert("der Browser kann nur ein Opera sein"); }
Wunderbar, mit der Veröffentlichung von Opera 8 war diese Erkennung obsolet. Setzt man sie ein, produziert sie bei Opera-8-Benutzern falsche Resultate. Man kann nie wissen, ob ein Browser bestimmte Objekte irgendwann implementiert, und sei es auch nur zum Schein. Daher ist window.opera prinzipiell verlässlicher und ich halte es für unbegründet, anesichts der zu vernachlässigenden Benutzer-JavaScripts zu einer Alternativmethode zu raten.
Mathias
Hallo molily.
Den Punkt erkenne ich prinzipiell an. Den Hinweis in allen Ehren, aber ich halte ihn bei der Frage, wie man am besten Opera erkennt, für nicht relevant.
Gut, ich muss zugeben, dass er in der Tat nicht wirklich hilfreich ist.
[...] window.opera wurde genau deshalb geschaffen: Damit die Webautoren keine Erkennung über irgendwelche Objekte durchführen müssen, von denen man *momentan* zu wissen *glaubt*, ihre Existenz bedeute zwangsläufig die Verwendung des Opera-Browsers.
Wurde es das? Bei der Suche danach finde ich nur massenhaft Abfragen desselben. Gibt es das irgendwo in nachlesbarer Form?
Selbst wenn man beachtet, dass vielleicht einer unter hunderttausend Besuchern das window.opera-Objekt gefälscht hat, ist daher window.opera immer noch zuverlässiger und zukunftssicherer.
Ja, das stimmt.
Im übrigen finden sich in der verlinkten Tabelle, soweit ich das sehe, kein einziges Merkmal, anhand dessen man eindeutig Opera erkennen könnte. Also muss man mehrere positive und negative Merkmale testen. Das scheint nicht kompliziert, aber Komplexität bedeutet hier Fehleranfälligkeit.
Auch hier gebe ich dir Recht.
Kristof stellt z.B. folgende Erkennung vor, die ohne window.opera auskommt:
if (!window.pkcs11 && !document.defaultCharset && !document.createRange) { alert("der Browser kann nur ein Opera sein"); }
Wunderbar, mit der Veröffentlichung von Opera 8 war diese Erkennung obsolet.
Zu meiner Freude, muss ich anmerken.
Setzt man sie ein, produziert sie bei Opera-8-Benutzern falsche Resultate.
Nein, die Resultate sind dementsprechend korrekt, die abgefragten Objekte versteht Opera 8 ja.
Man kann nie wissen, ob ein Browser bestimmte Objekte irgendwann implementiert, und sei es auch nur zum Schein.
Die Existenz eines JS-Objektes zum Schein konnte ich in Opera bisher nicht feststellen. Wenn du mehr weißt, kläre mich bitte auf.
Daher ist window.opera prinzipiell verlässlicher und ich halte es für unbegründet, anesichts der zu vernachlässigenden Benutzer-JavaScripts zu einer Alternativmethode zu raten.
Ja, ich gebe zu, dass meine Hinweise--nicht nur hier--an manchen Stellen nicht wirklich auf dem Weg zum Ziel hilfreich sind. Meist merke ich dies nach dem Schreiben auch selbst. Hier wollte ich am ehesten meinen Standpunkt gegenüber Browserweichen ausdrücken. Sie sind nicht verlässlich und werden es auch sicher niemals sein. Dass sie aber dennoch an manchen Stellen einfach unumgänglich sind, habe ich hierbei aber außer Acht gelassen. (Ich setze selbst einige Star-HTML-Hacks für den IE ein.)
Mein Fehler.
Gruß, Ashura
Hi,
Wurde es das? Bei der Suche danach finde ich nur massenhaft Abfragen desselben. Gibt es das irgendwo in nachlesbarer Form?
Hmm, welche Unterobjekte hat window.opera eigentlich? Sinnvolle? Überhaupt welche?
Die Existenz eines JS-Objektes zum Schein konnte ich in Opera bisher nicht feststellen.
Ich schon (mindestens faktisch). Aber ...
Wenn du mehr weißt, kläre mich bitte auf.
... angesichts solcher Methoden der Opera-Programmierer, habe ich mir das auch nicht gemerkt. Stattdessen subsummiert Opera bei mir einfach unter dem Begriff "JavaScript-Niete". Das hält meinen biologischen Datenspeicher freier für wirklich wichtige Dinge! >;->
Und BTW: Die Opera-Programmierer stellen auch ausdrücklich klar, daß in ihren UAs - auch und gerade in den gefakten - stets "Opera" vorkommt und vorkommen wird. Sofern der Nutzer also nicht über die von Opera ohnehin gebotenen Möglichkeiten den UA manipuliert (auch da greifen wohl wieder Molilys IMHO 100% richtigen Anmerkungen), solange ist also selbst die vom OP getroffene Abfrage "sicher".
Gruß, Cybaer
Hi,
Hmm, welche Unterobjekte hat window.opera eigentlich? Sinnvolle? Überhaupt welche?
window.opera.addEventListener function addEventListener() { [native code] }
window.opera.removeEventListener function removeEventListener() { [native code] }
window.opera.defineMagicFunction function defineMagicFunction() { [native code] }
window.opera.defineMagicVariable function defineMagicVariable() { [native code] }
window.opera.buildNumber function Function() { [native code] }
window.opera.version function Function() { [native code] }
window.opera.collect function Function() { [native code] }
window.opera.errorIndex function Function() { [native code] }
window.opera.errorMessage function Function() { [native code] }
window.opera.postError function Function() { [native code] }
window.opera.openInSourceViewer function Function() { [native code] }
window.opera.clearErrorMessages function Function() { [native code] }
window.opera.SRPNumber function Function() { [native code] }
window.opera.isRegistered function Function() { [native code] }
(ermittelt per for(var elem in window.opera) ...)
Und BTW: Die Opera-Programmierer stellen auch ausdrücklich klar, daß in ihren UAs - auch und gerade in den gefakten - stets "Opera" vorkommt und vorkommen wird. Sofern der Nutzer also nicht über die von Opera ohnehin gebotenen Möglichkeiten den UA manipuliert (auch da greifen wohl wieder Molilys IMHO 100% richtigen Anmerkungen), solange ist also selbst die vom OP getroffene Abfrage "sicher".
Die ist insofern unsicher, da zwar dadurch sichergestellt ist, daß bei Operas immer "Opera" vorkommt, aber nicht, daß bei Nicht-Operas "Opera" nicht vorkommt.
cu,
Andreas
Hi,
Die ist insofern unsicher, da zwar dadurch sichergestellt ist, daß bei Operas immer "Opera" vorkommt, aber nicht, daß bei Nicht-Operas "Opera" nicht vorkommt.
Das ist schon klar - aber s. Molily. Wer immer meint, seinen Browser als Opera zu tarnen, der möge doch bitte mit den Konsequenze leben ...
Und BTW: Mich hält auch niemand ab, window.opera bei meinem Nicht-Opera zu implementieren. Oder mir ins Knie zu schießen. ;->
Gruß, Cy-"ich frag ggf. auf window.opera ab"-baer
Hi,
Das ist schon klar - aber s. Molily. Wer immer meint, seinen Browser als Opera zu tarnen, der möge doch bitte mit den Konsequenze leben ...
wieso tarnen? Du vergißt, daß es durchaus auch andere Gründe haben kann, um z.B. "Vienna State Opera" o.ä. in seinen UA zu setzen... und sei es auch nur zusätzlich zum "Gecko".
freundliche Grüße
Ingo
Hi,
wieso tarnen? Du vergißt, daß es durchaus auch andere Gründe haben kann, um z.B. "Vienna State Opera" o.ä. in seinen UA zu setzen... und sei es auch nur zusätzlich zum "Gecko".
Das wäre aber nicht "User-Agent", sondern "User-Company" oder "User-Advertisment"! ;->
Gruß, Cybaer
hi,
window.opera.isRegistered function Function() { [native code] }
hey, das ist ja "nett" - da kann man also sogar abfragen, wie viele der (mit aktiviertem JS) dahergesurft kommenden opera-nutzer ihren registriert haben?
in punkto datenschutz zweifelten ja schon des öfteren manche zeitgenossen an opera, aber dies finde ich doch irgendwie merkwürdig ...
gruß,
wahsaga
Hi,
in punkto datenschutz zweifelten ja schon des öfteren manche zeitgenossen an opera, aber dies finde ich doch irgendwie merkwürdig ...
Ist doch praktisch! Dann kann man unregistirerten Opera-Usern gleich "Download free Firefox"-Banner auf die Seite knallen! >;->
Gruß, Cybaer
Hallo,
Kristof stellt z.B. folgende Erkennung vor, die ohne window.opera auskommt:
if (!window.pkcs11 && !document.defaultCharset && !document.createRange) { alert("der Browser kann nur ein Opera sein"); }
der von dir erwähnte Beispielcode (auch weniger dramatisch abgefasst)
geht dann bis Opera 7, die Browsererkennung der Seite selbst aber (wie
auch deutlich mit einer Vorversion als erster Codeblock veröffentlicht)
nutzt window.opera.
Der zusätzliche Alternativcode ist auch nicht als perfekte Lösung
vorgestellt, sondern soll zur Entwicklung von ggf. nötigen
Alternativen anregen, schliesslich sind ja viele mögliche Parameter
aufgeführt.
Eine umfassende Bewertung der Möglichkeiten fehlt, sowas ist aber
pauschal sowieso schwierig.
Zunächst ist es (Mathias) natürlich vollkommen richtig, window.opera
ist geeignet.
Allerdings könnte Opera immer für Überraschungen gut sein, schon
weil er sich in der Märtyrerrolle so gut gefallen hat, erst werden
angeblich Seiten von den Webmastern nicht so geschrieben dass die
frühen verbugten Versionen des Browsers damit klarkommen, dann sind
es wieder die bösen Browserweichen die Opera ausschliessen.
Mit document.all (ohne entsprechenden Funktionsumfang!) kam dann der
m.E. deutlichste Sündenfall Operas, und wieder mal waren wohlmeinende
Webmaster viel zu nett und haben versucht auch dort noch etwas zu
retten wo Opera tasächlich document.all versucht hat.
Nachfolgende Geschichten um Opera und CSS-Code kam mir dann auch eher wie
Marketinggetrommel vor, vielleicht ein potentielles Risiko, wie auch
das Bemühen sich gegen Mozilla abzugrenzen.
Könnte es sich Opera leisten window.opera in Frage zu stellen, könnte
ein anderer Browserhersteller window.opera auch anwenden?
Vorsorglich muss wohl sowieso der Code, auch mit window.opera, unter
Opera 9 wieder getestet werden, und falls Benutzer-JavaScripts in Mode
kämen müßte irgendwann auch reagiert werden.
Mir ist es allerdings bislang nicht gelungen ein solches Script bei
Opera 8 zu installieren, Opera hat sich wohl am Pfad oder am Namen der
Datei gestört...
Grüsse
Cyx23
Hallo Cyx23.
Mir ist es allerdings bislang nicht gelungen ein solches Script [User-Javascript] bei
Opera 8 zu installieren, Opera hat sich wohl am Pfad oder am Namen der
Datei gestört...
Alles was du dazu wissen musst, findest du hier: 30 Days to becoming an Opera8 Lover - Day 10 User Javascript.
Ich habe selbst schon ein User-JS geschrieben, dass jedem Bild die Attribute height und width zuweist, wenn diese nicht vorhanden sind. (Ich hasse es, wenn Seitenelemente beim Laden fröhlich durch die Gegend wandern.)
Leider kann ich die Funktion nicht dort einsetzen, wo sie nötig ist: vor dem Laden der Seite. :-(
Gruß, Ashura