Script-Anpassung an verschiedene Browser möglich ? DW 11

Voenics schrieb am 19.10.2016 um 17:07 Uhr

Guten Tag,
ich verwende für die Positionierung des Top-Link-Buttons folgendes Script (angepasst an Edge):

<script src="./index_htm_files/jquery-1.9.1.js"></script>
  <style type="text/css">
    #scroll_pu {
      position: fixed;
      margin-left: 50%;
      right: 224px;
      top: 707px;
      z-index:999;
      display:none;
    }
  </style>
<meta name="robots" content="noindex, nofollow" />

Je nach verwendetem Browser verschiebt sich der Button. Ich möchte, dass er zum Pendant auf der linken Seite des Backgrounds die gleiche Position hält (der Feedback-Button links ist fixiert und bleibt bei allen Browern gleich).

Kann man das Script anpassen, dass je nach Browser eine andere Position aufgerufen wird, eine Art Weiche ? Und wenn ja, wie geht das ?
Vielen Dank
Walter

Kommentare

BeRo schrieb am 20.10.2016 um 00:04 Uhr

Wenn Du mit der Scripterstellung (JS/CSS) ein bisschen vertraut bist, kannst Du relativ einfach den aufrufenden Browser abfragen und, abhängig vom Ergebnis, unterschiedliche Aktivitäten starten.

Schau Dir mal den Quellcode einer HTML Seite, die der WD exportiert hat, genauer an, da findest Du an verschiedenen Stellen Beispiele dafür:



Eine sehr gut gemachte Einführung in das Thema kannst Du Dir hier ansehen. Da wird auch dein aktuelles Problem angesprochen...

Viel Erfolg

 

Zuletzt geändert von BeRo am 20.10.2016, 00:04, insgesamt 1-mal geändert.

Auf den Tag genau gehen heute, am 14.08.2021, 10 Jahre online Support für die Community zu Ende.
Ich freue mich auf eine neue, berufliche Herausforderung, die sich gerade ergeben hat. Leider bleibt dann keine Zeit mehr für die Community übrig, aber Ihr seid bei den aktiven Mitgliedern in besten Händen.
Sicher schaue ich auch ab und zu nochmal rein... 🤓

Voenics schrieb am 20.10.2016 um 11:22 Uhr


Danke BeRo,
nun ja, leider kann ich wohl weniger als ein bisschen … dieses Script habe ich ja von Dir.
Aber ich versuch‘s auf alle Fälle, der Link ist ja sehr passend.

Vielleicht kannst Du meine Try & Error-Phase etwas abkürzen: Muss ich das gesamte Script für jeden Browser komplett in eine if-Abfrage stellen oder genügt es, im Script nur die Werte für right und top für unterschiedliche Browser anzugeben ?

Woher weiß ich die richtige Bezeichnung eines Browsers ? In einem Beispiel steht z.B. MSIE und im anderen IE 9. Wie bekomme ich heraus, wie der Firefox heißt oder Chrome oder Edge ?
Gibt es auch eine Unterscheidung  z.B. zwischen Firefox auf Android und Desktop-Version ?

Bitte hilf mir noch mal. Danke.
Walter

BeRo schrieb am 20.10.2016 um 12:53 Uhr

[...] Muss ich das gesamte Script für jeden Browser komplett in eine if-Abfrage stellen [...]

Nein. Es genügt, wenn Du den von Dir in der Thread Eröffnung gezeigten CSS Code vor die "if" Abfragen stellst und anschließend für jeden Browsertyp die zu modifizierenden Positionsangaben in den entsprechenden "if" Abfragen übergibst.

[...] Woher weiß ich die richtige Bezeichnung eines Browsers [...]

In dem von mir verlinkten Artikel findest Du eine recht ausführliche Beschreibung des Verfahrens...

Wie @Moritz, der Autor des Artikels schreibt, werden für die Zuordnung der Statements Browserspezifische Eigenarten ausgenutzt, die dafür sorgen, dass ein Befehl von einem Browser korrekt interpretiert wird, von anderen Browsertypen aber nicht, usw.

Das Lesen des kompletten Artikels ist also dringend anzuraten...

Dass es bei so trickreicher Programmierung Stolperfallen gibt ist schon fast selbstverständlich. Andererseits kommst Du nicht daran vorbei, wenn Du das ehrgeizige Ziel erreichen möchtest, das Layout Deiner Website für möglichst alle Browser einheitlich zur Verfügung zu stellen.
Allerdings wird es kaum möglich sein, wirklich alle Browser zu berücksichtigen. Sinnvoll wäre m. E. zumindest eine Beschränkung auf halbwegs aktuelle Versionen der beliebtesten Browser.

[...] Gibt es auch eine Unterscheidung  z.B. zwischen Firefox auf Android und Desktop-Version [...]

Dazu ist mir kein "HTML Hack" bekannt. Mit einer PHP Abfrage geht es aber problemlos. Hier, in der Anleitung für eine Browserweiche, habe ich das Verfahren ausführlich beschrieben.
Wenn Du das an Deine Website adaptieren willst, muss der Webserver Deines Providers aber PHP unterstützen!

Viel Erfolg

Zuletzt geändert von BeRo am 20.10.2016, 12:53, insgesamt 1-mal geändert.

Auf den Tag genau gehen heute, am 14.08.2021, 10 Jahre online Support für die Community zu Ende.
Ich freue mich auf eine neue, berufliche Herausforderung, die sich gerade ergeben hat. Leider bleibt dann keine Zeit mehr für die Community übrig, aber Ihr seid bei den aktiven Mitgliedern in besten Händen.
Sicher schaue ich auch ab und zu nochmal rein... 🤓

Voenics schrieb am 20.10.2016 um 13:17 Uhr

Wieder danke für die ausführliche Antwort.

Nun, ich habe den Link schon komplett gelesen ...  aber verstehen ist eine andere Sache. Ich habe mich durch die Auszüge aus der HTML-Seite des Webdesigners auch irritieren lassen, da dort die Browser in der genannten Kurzform benannt sind - aber die Namen offenbar nicht als Weiche dienen  (können).

Jetzt heißt es ausprobieren. Mal sehen, ob es klappt !

Danke BeRo, dass Du Dir so viel Zeit nimmst ....

 

BeRo schrieb am 20.10.2016 um 15:52 Uhr

[...] aber die Namen offenbar nicht als Weiche dienen  (können)

Du kannst natürlich auch die Bezeichnung der Browser benutzten, die im User Agent String enthalten ist. Dann wird die Umsetzung etwas aufwändiger, weil dann die klassische "if" Abfrage als JScript programmiert werden muss...

In diesem Thread des "askingbox.de" Forums findest Du ein Beispiel.

Hier, in einem anderen Forum gibt's die JS basierte Auflösung Deines Problems, auch die Browser der mobilen Geräte zu erkennen, also ganz ohne PHP.

Wie die einzelnen Browser sich zu erkennen geben (User Agent String), das ist hier aufgelistet. Da der User Agent String vom "Absender" leicht zu manipulieren ist, kann die Abfrage auch zu fehlerhaften Ergebnissen führen. Dazu kommt noch, dass manche Browser sich von Haus aus mit fremden Federn schmücken. Das trifft z. B. für die älteren IE Versionen zu, die sich als "Mozilla" Browser ausgeben...

Das Thema "Browsererkennung" füllt schnell ein paar hundert Seiten. Ein kleiner Trost ist vielleicht die Erkenntnis, dass es bis heute noch keine 100% Lösung gibt.

Dennoch gerne viel Erfolg

Zuletzt geändert von BeRo am 20.10.2016, 15:53, insgesamt 2-mal geändert.

Auf den Tag genau gehen heute, am 14.08.2021, 10 Jahre online Support für die Community zu Ende.
Ich freue mich auf eine neue, berufliche Herausforderung, die sich gerade ergeben hat. Leider bleibt dann keine Zeit mehr für die Community übrig, aber Ihr seid bei den aktiven Mitgliedern in besten Händen.
Sicher schaue ich auch ab und zu nochmal rein... 🤓