Browserweiche für Opera?
Jens
- css
Hallo,
habe eine Website und eine Grafik darin (mit CSS positioniert). Nun wollte ich ein Textfeld über diese Grafik positionieren. Das habe ich so gemacht:
<input type="text" name="searchstring" style="position:absolute; top:80px; left:245px; margin:0; padding:0;">
Kein Problem im IE, kein Problem in Netscape oder Mozilla. In diesen Browsern stimmt die Positionierung. Opera allerdings ignoriert die Angabe völlig und packt das Textfeld einfach unter die Grafik.
Warum das? Ich habe versucht, es mit position:relative zu machen und dann mit top:-30px; ... aber auch da unterscheidet sich Opera von den anderen Browsern.
Ich kriege das Textfeld einfach nicht in allen Browsern korrekt platziert und dachte mir, ich baue für Opera eine Browserweiche (mit CSS). Das geht doch oder?
Aber - wie geht das?
Grüsse
Jens
Hi jens
Kein Problem im IE, kein Problem in Netscape oder Mozilla. In diesen Browsern stimmt die Positionierung. Opera allerdings ignoriert die Angabe völlig und packt das Textfeld einfach unter die Grafik.
Warum schreibst du das Textfeld dann nicht im Quelltext über die Grafik, dann erscheint es auf jedenfall (außer du positionierst es mit CSS neu) darüber.
Ich kriege das Textfeld einfach nicht in allen Browsern korrekt platziert und dachte mir, ich baue für Opera eine Browserweiche (mit CSS). Das geht doch oder?
Eine Browserweiche für Opera zu bauen ist schwierig, weil Opera es dem Anwender erlaubt auszuwählen als was er sicht identifizeirt, z.B. als IE oder Mozilla. Die einzige Möglichkeit, die alle Opera-Benutzer erfasst, wäre es den Browser auf bestimmte Opera-typische Merkmale zu prüfen.
Schöne Grüße
Johannes
Hallo Johannes,
Eine Browserweiche für Opera zu bauen ist schwierig, weil Opera es dem Anwender erlaubt auszuwählen als was er sicht identifizeirt, z.B. als IE oder Mozilla. Die einzige Möglichkeit, die alle Opera-Benutzer erfasst, wäre es den Browser auf bestimmte Opera-typische Merkmale zu prüfen.
Na das kann ich aber nicht einfach so stehen lassen. Natürlich kann man Opera rausfiltern. Ob es sinnvoll ist, ist wieder was anderes.
Als reine CSS-Weiche ohne JavaScript:
http://skop.net/self/css_browserweiche.html
http://www.albin.net/CSS/OwenHack.html
http://centricle.com/ref/css/filters/
Grüße aus Nürnberg,
HarryS
Hi Harry
Eine Browserweiche für Opera zu bauen ist schwierig, weil Opera es dem Anwender erlaubt auszuwählen als was er sicht identifizeirt, z.B. als IE oder Mozilla. Die einzige Möglichkeit, die alle Opera-Benutzer erfasst, wäre es den Browser auf bestimmte Opera-typische Merkmale zu prüfen.
Na das kann ich aber nicht einfach so stehen lassen. Natürlich kann man Opera rausfiltern. Ob es sinnvoll ist, ist wieder was anderes.
Ich habe nicht behauptet, dass man Opera nicht rausfiltern kann. Ich habe nur behauptet, dass man Opera nicht immer mit navigator.appName erkennen kann.
Als reine CSS-Weiche ohne JavaScript:
http://skop.net/self/css_browserweiche.html
http://www.albin.net/CSS/OwenHack.html
http://centricle.com/ref/css/filters/
Bei keiner dieser Adressen wird überprüft, ob der Browser Opera _ist_. Es wird nur überprüft, ob der Browser die Eigenschaften vom Opera hat. (Ist in der Realität natürlich das gleiche.) Ich hab ja auch gesagt, mann kann "den Browser auf Opera-Typische Merkmale" überprüfen, so wie es dort geschieht.
Schöne Grüße
Johannes
Hallo Johannes,
Ich habe nicht behauptet, dass man Opera nicht rausfiltern kann. Ich habe nur behauptet, dass man Opera nicht immer mit navigator.appName erkennen kann.
Diese Aussage ist natürlich richtig, denn eine JS-Weiche anhand des navigator.appName zu machen ist die unsicherste Sache seit der Erfindung der Browser. Als Defaultwert ist bei der Installierung von Opera sogar der IE eingestellt.
Als reine CSS-Weiche ohne JavaScript:
http://skop.net/self/css_browserweiche.html
http://www.albin.net/CSS/OwenHack.html
http://centricle.com/ref/css/filters/Bei keiner dieser Adressen wird überprüft, ob der Browser Opera _ist_.
Auch das ist richtig.
Es wird nur überprüft, ob der Browser die Eigenschaften vom Opera hat. (Ist in der Realität natürlich das gleiche.)
Eben.
Ich hab ja auch gesagt, mann kann "den Browser auf Opera-Typische Merkmale" überprüfen, so wie es dort geschieht.
Aber bittebittebitte nicht mit dem navigator.appName. Wenns ne JS Weiche für Opera sein muß dann mit:
if(window.opera) {
alert("Ich bin ein OPERA - garantiert!");
}
der einzig sichere Weg (zur Zeit) um Operas zu erkennen.
Im Prinzip sind wir uns ja einig :)
Grüße aus Nürnberg,
HarryS