Ergebnis 1 bis 8 von 8

Thema: Avatar-Spiegelung fehlerhaft in allen Android-Versionen

  1. #1

    Avatar-Spiegelung fehlerhaft in allen Android-Versionen

    Hallo,
    Der dynamische Spiegelungseffekt bei den Avataren in der Themenansicht ist in eigentlich allen Android-Versionen fehlerhaft. Die gespiegelte Version des Bildes wird nicht, wie eigentlich vorgesehen, in der Höhe abgeschnitten, sondern behält die volle Höhe des Originals, was dazu führt, dass die Usernamen verdeckt werden.

    Da Bilder mehr als tausend Worte sagen, habe ich auch noch eine hübsche Bilderserie angehängt, die das Problem erkenntlichen machen sollte. (Bilder stammen von einem Gerät mit Android 4.0.4 und einem Gerät mit Android 2.3.3)
    Klicke auf die Grafik für eine größere Ansicht 

Name:	shot_000002.png 
Hits:	7 
Größe:	187,7 KB 
ID:	14519Klicke auf die Grafik für eine größere Ansicht 

Name:	shot_000003.png 
Hits:	12 
Größe:	281,7 KB 
ID:	14520Klicke auf die Grafik für eine größere Ansicht 

Name:	shot_000004.png 
Hits:	11 
Größe:	269,7 KB 
ID:	14521Klicke auf die Grafik für eine größere Ansicht 

Name:	shot_000012.png 
Hits:	6 
Größe:	109,5 KB 
ID:	14522Klicke auf die Grafik für eine größere Ansicht 

Name:	shot_000013.png 
Hits:	6 
Größe:	143,2 KB 
ID:	14523

    Hat jemand der Administratoren hier ein Android-Smartphone, um sich das Problem genauer anzusehen? Ich kann das Problem von außerhalb nur schlecht reproduzieren, da z.B. die Original-Demos des Skriptes, mit dem der Effekt eingebunden wurde, keine solchen Fehler unter Android zeigen: http://cow.neondragon.net/stuff/reflection/

  2. #2

    Badass Freakin' Administrator
    stars_admin
    @Indy

    Ich habe das eben mit Ice Cream Sandwich probiert und kann das Problem nur beim Standard-Internet-Browser reproduzieren.
    Mit Chrome und Opera Mobile werden die Spiegelungen richtig dargestellt.

  3. #3
    Zitat Zitat von Knuckles Beitrag anzeigen
    @Indy

    Ich habe das eben mit Ice Cream Sandwich probiert und kann das Problem nur beim Standard-Internet-Browser reproduzieren.
    Mit Chrome und Opera Mobile werden die Spiegelungen richtig dargestellt.
    Ok, danke. Dass der mobile Chrome-Browser sich hier anders verhält, ist gut zu wissen. Habt ihr eigentlich ein Test-Forum eingerichtet? Dann könnte ich versuchen, die Forum-Webseite mit weinre zu debuggen.
    http://people.apache.org/~pmuellr/weinre/docs/latest/

  4. #4
    Ok, habe jetzt ein wenig rumprobiert. In Webkit-Browsern kommt überhaupt nicht das reflection-Skript zum Einsatz, sondern eine CSS-Regel:

    HTML-Code:
    <style type="text/css">   
        .reflect { 
          -webkit-box-reflect: below -1px -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0.67,transparent), to(#fff)); 
          margin-bottom: 30px; 
        } 
      </style>
    Android rendert leider die -webkit-box-reflect-Eigenschaftnicht korrekt und ich konnte auf die Schnelle keinen Workaround finden, der dieses Problem beheben könnte. Wäre es also möglich, per Javascript alle Android-Browser von dieser Eigenschaft auszuschließen? Alternativ könnte man auch einfach die reflection.js einbinden, die in anderen Browsern zum Einsatz kommt. Die macht keine Probleme im Android-Browser.

    HTML-Code:
      <script type="text/javascript">
        var userAgent = navigator.userAgent.toLowerCase();
        if (userAgent.search("android") > -1) 
        {
          var cssCode = '.reflect {-webkit-box-reflect: none !important;}';          
          var styleElement = document.createElement("style");
          styleElement.type = "text/css";               
          styleElement.appendChild(document.createTextNode(cssCode));   
          document.getElementsByTagName("head")[0].appendChild(styleElement);      
        }    
      </script>

  5. #5
    Schau mal, ob's jetzt besser ist. Ich hab jetzt 'ne extra Browserweiche fuer Android eingebaut, die reflection.js anstatt dem CSS-Foo benutzt.

    (Und ich hoffe einfach mal, dass die korrekte Weiche is_browser('android') ist. vB ist so unglaublich scheisse dokumentiert, dass so was immer ein guessing game ist. )

    Okay, Kommando zurueck. vB hat keine eingebaute Weiche fuer Android. Weder in is_browser noch im $useragent-Array. Beschwerden auf vb.org gibt's auch schon, weil iPhone, iPod und iPad naemlich wohl drin sind. Muss ich irgendwie anders machen.

  6. #6
    Also wenn es über PHP ablaufen soll, ginge es natürlich auch direkt mit $_SERVER['HTTP_USER_AGENT']. Oder verhindert vbulletin die Nutzung dieses Arrays?

  7. #7
    Nein, das geht schon. Aber dafuer muesste ich in den Quellcode der PHP-Dateien, und das vermeiden wir tunlichst, weil das beim Update das halbe Forum zerschiesst.
    Alternativ ginge es natuerlich ueber ein Plugin, aber das muss Lukas machen, weil ich keinen Zugriff auf die Plugin-API habe.

  8. #8
    Achso, ich dachte schon, du meinst PHP nachdem von einem $useragent-Array die Rede war. Habe völlig vergessen, dass vbulletin bei seinen hauseigenen Variablen auch ein $ voranstellt. Und die $useragent enthält nicht den kompletten Useragent? Wofür ist die dann überhaupt gut?

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •