schon wieder opera identifizieren
Fabian
- browser
Hi!
Ich muss mit javascript Opera vom IE unterscheiden können, weil der IE halbtransparente PNG-bilder nur über irgendwelche Filter unterstützt unterstützt.
Jetzt hab' ich im Forum gestöbert und bin auf folgendes gekommen:
if(document.all && document.getElementById && navigator.appName == "Microsoft Internet Explorer"){
if (!(navigator.userAgent.indexOf("Opera")>-1 || window.opera || window.opera7)){
echo "IE und kein Opera";
}
}
Könnt ihr mir helfen und sagen, ob das jetzt so funktioniert. Im neusten Opera hab ich s schon getestet und es geht - die älteren Opera-Versionen müssten noch getestet werden ... und auch ob das Ganze im IE funktioniert - da kann ich das Ganze momentan nicht testen.
Kann mir jemand helfen?
Gruß, Fabian.
Hi!
Ich muss mit javascript Opera vom IE unterscheiden können, weil der IE halbtransparente PNG-bilder nur über irgendwelche Filter unterstützt unterstützt.
Jetzt hab' ich im Forum gestöbert und bin auf folgendes gekommen:
if(document.all && document.getElementById && navigator.appName == "Microsoft Internet Explorer"){
if (!(navigator.userAgent.indexOf("Opera")>-1 || window.opera || window.opera7)){
echo "IE und kein Opera";
}
}
<Cheatah>
Die Abfrage der User-Agent-Kennung ist völlig sinnfrei, da diese beliebig gefälscht werden kann.
</Cheatah>
Den IE allein anhand der User-Agent-Kennung einwandfrei zu erkennen wird nicht funktionieren, da man auch bei anderen Browsern als dem Opera (wenn man's drauf anlegt sogar beim IE) die User-Agent-Kennung änder kann.
Prüfe lieber, wenn es JavaScript sein muss, auf die IE-spezifischen Eigenschaften, Elemente oder Methoden.
Gruß,
Johannes
Prüfe lieber, wenn es JavaScript sein muss, auf die IE-spezifischen Eigenschaften, Elemente oder Methoden.
Bisher funktioniert das Script so... An welche Eigenschaften denkst du denn?
Fabian
Moin!
Bisher funktioniert das Script so... An welche Eigenschaften denkst du denn?
function ie4() {
if (document.all) {
alert: ("Internet Explorer ab Version 4" );
}
return true;
}
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Moin!
Sorry War ein Schnellschuß...
function ie4() {
if (document.all) {
alert("Internet Explorer ab Version 4" );
return true;
}
return false;
}
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
hi,
function ie4() {
if (document.all) {
alert("Internet Explorer ab Version 4" );
wenn der opera so eingestellt ist, dass er sich bei der identifizierung als IE version xy ausgibt, versucht er auch möglichst kompatibelzu diesem zu sein - sprich dann kennt er auch das object document.all.
dein script wird mir also die meldung
"Internet Explorer ab Version 4"
als alert-fenster bringen, wenn mein opera darauf eingestellt ist, sich als IE auszugeben.
gruss,
wahsaga
Hallo wahsaga,
hi,
function ie4() {
if (document.all) {
alert("Internet Explorer ab Version 4" );wenn der opera so eingestellt ist, dass er sich bei der identifizierung als IE version xy ausgibt, versucht er auch möglichst kompatibelzu diesem zu sein - sprich dann kennt er auch das object document.all.
Verständnisfrage:
Aber über window.opera müsste er in diesem Fall dennoch identifizierbar sein oder?
So in der Art (document.all && !window.opera)
Oder irre ich mich da?
Gruß
Kurt
hi,
Verständnisfrage:
Aber über window.opera müsste er in diesem Fall dennoch identifizierbar sein oder?
ich denke, ja.
wenn du's sicher wissen willst, probierst du's aus :-)
gruss,
wahsaga
Hallo wahsaga,
Verständnisfrage:
Aber über window.opera müsste er in diesem Fall dennoch identifizierbar sein oder?ich denke, ja.
wenn du's sicher wissen willst, probierst du's aus :-)
Nee du, so genau wollte ich es ja gar nicht wissen, es ging mir ja nur ums Verständnis. ;-)
Meine Browserweiche funktioniert und das genügt mir. :-)
Gruß
Kurt
Moin!
wenn der opera so eingestellt ist, dass er sich bei der identifizierung als IE version xy ausgibt, versucht er auch möglichst kompatibelzu diesem zu sein - sprich dann kennt er auch das object document.all.
Oh Scheisse!
Führt er dann auch diese netten Visual Basci- Scripte, die Dialer und Würmer installieren, aus?
Das wäre "bestmögliche" Kompatibiltät!
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
hi,
Oh Scheisse!
Führt er dann auch diese netten Visual Basci- Scripte, die Dialer und Würmer installieren, aus?
Das wäre "bestmögliche" Kompatibiltät!
nein, keine sorge, so weit treibt er's natürlich nicht :-)
gruss,
wahsaga
hi,
Die Abfrage der User-Agent-Kennung ist völlig sinnfrei, da diese beliebig gefälscht werden kann.
</Cheatah>Den IE allein anhand der User-Agent-Kennung einwandfrei zu erkennen wird nicht funktionieren, da man auch bei anderen Browsern als dem Opera (wenn man's drauf anlegt sogar beim IE) die User-Agent-Kennung änder kann.
Wenn mans drauf anlegt und auch macht, ist man meiner Meinung nach selbst schuld, wenn die Seite nicht fuktioniert.
....und weiß dann wahrscheinlich auch worans liegen könnte.
Tipp zur Opera-Erkennung gibts bei Opera:
http://www.opera.com/support/search/supsearch.dml?index=570
und noch mehr Tipps zu Opera gibts auch bei Opera:
http://www.opera.com/support/service/webdev/
gruß
ptr
Moin!
Ich muss mit javascript Opera vom IE unterscheiden können, weil der IE halbtransparente PNG-bilder nur über irgendwelche Filter unterstützt unterstützt.
Nein, mußt du nicht.
Lies http://webfx.eae.net/dhtml/pngbehavior/pngbehavior.html durch, die dort vorgestellte Methode löst das Problem sehr elegant und kompatibel, würde ich meinen.
- Sven Rautenberg
Hi,
Lies http://webfx.eae.net/dhtml/pngbehavior/pngbehavior.html durch,
Stimmt die URL? Ich krieg wiederholt "Server not found"
cu,
Andreas
Moin!
Lies http://webfx.eae.net/dhtml/pngbehavior/pngbehavior.html durch,
Stimmt die URL? Ich krieg wiederholt "Server not found"
Die URL stimmt - mit dem Server stimmt aber was nicht.
Es ist Fundstelle Nr. 1 hier: http://www.google.com/search?num=50&hl=de&ie=UTF-8&oe=utf-8&q=png+transparency+filter&btnG=Google+Suche
- Sven Rautenberg
Hi,
Lies http://webfx.eae.net/dhtml/pngbehavior/pngbehavior.html durch,
Stimmt die URL? Ich krieg wiederholt "Server not found"
Die URL stimmt - mit dem Server stimmt aber was nicht.
Ok, dann werd ich es später wieder probieren...
cu,
Andreas
Hi Andreas,
Die URL stimmt - mit dem Server stimmt aber was nicht.
Ok, dann werd ich es später wieder probieren...
Grüße,
Roland
hi,
Nein, mußt du nicht.
Lies http://webfx.eae.net/dhtml/pngbehavior/pngbehavior.html durch, die dort vorgestellte Methode löst das Problem sehr elegant und kompatibel, würde ich meinen.
ein kurzer blick sagt mir, dass diese lösung auf javascript basiert - seit wann bezeichnest du sowas als elegant und kompatibel?
zumal es damit bei jedem sicherheitsbewussten IE-nutzer (oxymoron?) _nicht_ "funktionieren" wird, da dieser ja active scripting auf eindringliche weisung des herstellers deaktiviert hat ...
gruss,
wahsaga
Hi,
zumal es damit bei jedem sicherheitsbewussten IE-nutzer (oxymoron?)
mal wieder ein neues Wort gelernt (http://de.wikipedia.org/wiki/Oxymoron) - oder hätte man das kennen müssen? ;-)
freundliche Grüße
Ingo
Hallo Ingo,
mal wieder ein neues Wort gelernt (http://de.wikipedia.org/wiki/Oxymoron) - oder hätte man das kennen müssen? ;-)
Eigentlich schon. ;-)
Viele Grüße,
Christian
Hi Christian,
das hätte ohne den Smile aber jetzt mein Selbstvertrauen angeknackst..;-)
Aber ich muß zugeben, daß mir die Wortzusammensetzung sehr gefällt.
freundliche Grüße
Ingo
Hallo Christian,
mal wieder ein neues Wort gelernt (http://de.wikipedia.org/wiki/Oxymoron) - oder hätte man das kennen müssen? ;-)
Eigentlich schon. ;-)
Zumindest wenn man die gymnasiale Oberstufe absolviert hat ;-)
Vorher ist mir dieses Wort auch noch nie begegnet.
Schöne Grüße,
Johannes
Hi,
Zumindest wenn man die gymnasiale Oberstufe absolviert hat ;-)
Vorher ist mir dieses Wort auch noch nie begegnet.
da bin ich ja jetzt endgültig beruhigt - in der FHS hatte ich eher praktische Dinge gelernt..;-)
freundliche Grüße
Ingo
Moin!
Lies http://webfx.eae.net/dhtml/pngbehavior/pngbehavior.html durch, die dort vorgestellte Methode löst das Problem sehr elegant und kompatibel, würde ich meinen.
ein kurzer blick sagt mir, dass diese lösung auf javascript basiert - seit wann bezeichnest du sowas als elegant und kompatibel?
Weil es auf behaviours aufbaut. Die sind zwar ganz böse standard-inkompatibel, aber die Lösung hat den Vorteil, dass für alle Nicht-IEs die Behaviours sowieso schon mal komplett ignoriert werden.
zumal es damit bei jedem sicherheitsbewussten IE-nutzer (oxymoron?) _nicht_ "funktionieren" wird, da dieser ja active scripting auf eindringliche weisung des herstellers deaktiviert hat ...
Es dürfte dann aber auch egal sein, weil die Aktivierung von Transparenz in meinen Augen keine wirklich gravierdenden Bedienungsänderungen erlauben dürfte.
- Sven Rautenberg