HTML 5 - body/head-Tag weg lassen

the_black_hawk

Erfahrenes Mitglied
Hallo Leute,

laut den aktuellen Googlerichtlinien soll man ja bei HTML-5 Dokumenten den head und body Tag weg lassen.

In modernen Browsern funktioniert das soweit super, aber bereits IE8 zeigt die Seite dann nichtmehr an (alles bis auf den Hintergrund wird ausgeblendet)

Ich möchte mich bei meinen aktuellen Projekten an den Google-Guidelines orientieren, aber trotzdem die Verfügbarkeit meiner Websites auf allen Browsern gewährleisten.

Wie bring ich das unter reinem Hut? (evtl. Lösung mit Javascript sind willkommen)
 
Versuch es mit ein wenig PHP (User Agent ist das Stichwort). PHP hat den Vorteil das Besucher es nicht deaktivieren können, wie JavaScript. Und sollte der User Agent mal nicht erkannt werden (weil er manipuliert wurde), einfach auf die Seite mit <head> und <body> umleiten. So kann jeder deine Seite besuchen.

P. S. Ich würde mich nicht ausschließlich an Google-Richtlinien halten ;)
 
danke fürs feedback.
miz user_agent oder get_browser in pap zu arbeiten ist keine schlechte idee.
aber wie würde die prüfung denn aussehen wenn ich alles berücksichtigen möchte was niedriger als IE9 ist? oder noch besser, alles was HTML5 nicht unterstützt(gibts da ne prüfung?)
 
Ich bin momentan nicht zuhause, aber ich kann dir heute Abend einen Code dafür posten.
 
alles klar, dann warte ichg espannt auf dein feedback :)

habe selbst schon folgenden ansatz:
PHP:
if($browser['cssversion'] == 3) {}

allerdings haben mein Iron (chrome) und IE9 ein CSSversion von '0'. das bringt mir also leider auch nichts... hoffe gibt eine gute lösung
 
So, hier der Code:
PHP:
function isOldBrowser() {
  $browser = array("useragent" => $_SERVER['HTTP_USER_AGENT'], "name" => "", "version" => "");
  $count = 1;
  
  while($count < 17) {
    // Internet Explorer
    if($count == '1') { $suchstring = 'MSIE 6.'; $browsername = "Internet Explorer"; $browserversion = "6"; }
    if($count == '2') { $suchstring = 'MSIE 7.'; $browsername = "Internet Explorer"; $browserversion = "7"; }
    
    // Google Chrome
    if($count == '3') { $suchstring = 'Chrome/2.'; $browsername = "Google Chrome"; $browserversion = "2"; }
    if($count == '4') { $suchstring = 'Chrome/3.'; $browsername = "Google Chrome"; $browserversion = "3"; }
    if($count == '5') { $suchstring = 'Chrome/4.'; $browsername = "Google Chrome"; $browserversion = "4"; }

    
    // Mozilla Firefox
    if($count == '6') { $suchstring = 'Firefox/3.'; $browsername = "Mozilla Firefox"; $browserversion = "3"; }
    if($count == '7') { $suchstring = 'Firefox/4.'; $browsername = "Mozilla Firefox"; $browserversion = "4"; }
    if($count == '8') { $suchstring = 'Firefox/5.'; $browsername = "Mozilla Firefox"; $browserversion = "5"; }
    
    // Opera
    if($count == '9') { $suchstring = 'Opera/9.3'; $browsername = "Opera"; $browserversion = "9.3"; }
    if($count == '10') { $suchstring = 'Opera/9.4'; $browsername = "Opera"; $browserversion = "9.4"; }
    if($count == '11') { $suchstring = 'Opera/9.5'; $browsername = "Opera"; $browserversion = "9.5"; }
    
    // Safari
    if($count == '12') { $suchstring = 'Safari/523.'; $browsername = "Safari"; $browserversion = "3.0"; }
    if($count == '13') { $suchstring = 'Safari/525.'; $browsername = "Safari"; $browserversion = "3.1"; }
    if($count == '14') { $suchstring = 'Safari/528.'; $browsername = "Safari"; $browserversion = "4"; }
    if($count == '15') { $suchstring = 'Safari/530.'; $browsername = "Safari"; $browserversion = "4"; }
    if($count == '16') { $suchstring = 'Safari/531.'; $browsername = "Safari"; $browserversion = "4"; }
  
    if(stristr($browser["useragent"], $suchstring) === FALSE) {
      return array("useragent" => $_SERVER['HTTP_USER_AGENT'], "name" => "", "version" => "");
    } else {
      return array("useragent" => $_SERVER['HTTP_USER_AGENT'], "name" => $browsername, "version" => $browserversion);
      break;
    }
    $count++;
  }
}
Und hier eine Liste, welcher Browser welche Informationen sendet.
 
Das funktioniert bei mir auch im IE 6 einwandfrei. Immerhin sind auch bei HTML4 schon seit jeher diverse Tags optional. Poste bitte deinen Code.

Ich denke es ist auch nicht im Sinne des Styleguides, dass jemand um 27bytes zu sparen ein PHP Skript einbaut. Das zerstört doch jeglichen Vorteil.
 
Nur mal so: wo steht da in den Richtlinien, dass man den HEAD- und BODY-Tag weglassen soll? Das ist absoluter Unsinn und dazu auch noch invalides HTML!
 
Da steht nur etwas von optionalen Tags, ja, aber nicht, dass dazu der HEAD- und BODY-Tag gehört. Dafür möchte ich bitte einen Beweis sehen. Sollte man mir den erbringen, wäre das erneut ein Grund für mich starke Kritik an HTML5 zu äußern.
 

Neue Beiträge

Zurück