FinWX Foorumi

Koodaus- ja rakentelunurkka => Sivustojen koodaaminen (HTML, PHP, MySQL, jne.) => Aiheen aloitti: weatherc - torstai, 05.04.2012, 11:05

Otsikko: Selain-detektori
Kirjoitti: weatherc - torstai, 05.04.2012, 11:05
Steelseriesmittareihin kun pitäisi löytää toimiva tapa tunnistaa selain mahdollisimman aikaisin niin törmäsin php.netissä seuraavaan pätkään:


<?php
function browser_info($agent=null) {
  
$known = array('msie''firefox''safari''webkit''opera''netscape',
    
'konqueror''gecko');
  
$agent strtolower($agent $agent $_SERVER['HTTP_USER_AGENT']);
  
$pattern '#(?<browser>' join('|'$known) .
    
')[/ ]+(?<version>[0-9]+(?:\.[0-9]+)?)#';
  if (!
preg_match_all($pattern$agent$matches)) return array();
  
$i count($matches['browser'])-1;
  
  return array(
"browser" => $matches['browser'][$i],"version" => $matches['version'][$i]);
}
?>



Käyttö:

<?php
$ua 
browser_info();
?>



Puskee ulos esim seuraavaa:

Array ( [browser] => firefox [version] => 11.0 )

EDITTIÄ: PHP:stä löytyy kyllä sisäänrakennettu funktio tuohon myöskin, mutta se ei ole oletuksena päällä, vaatii että webhotelli enabloi sen:
Lainaa$browser = get_browser(null, true);

;D
Otsikko: Vs: Selain-detektori
Kirjoitti: systeemi - torstai, 05.04.2012, 12:20
Tälle on kohta tarvetta.
Otsikko: Vs: Selain-detektori
Kirjoitti: systeemi - lauantai, 14.04.2012, 13:49
Lainaus käyttäjältä: weatherc - torstai, 05.04.2012, 11:05
Steelseriesmittareihin kun pitäisi löytää toimiva tapa tunnistaa selain mahdollisimman aikaisin niin törmäsin php.netissä seuraavaan pätkään:


<?php
function browser_info($agent=null) {
  
$known = array('msie''firefox''safari''webkit''opera''netscape',
    
'konqueror''gecko');
  
$agent strtolower($agent $agent $_SERVER['HTTP_USER_AGENT']);
  
$pattern '#(?<browser>' join('|'$known) .
    
')[/ ]+(?<version>[0-9]+(?:\.[0-9]+)?)#';
  if (!
preg_match_all($pattern$agent$matches)) return array();
  
$i count($matches['browser'])-1;
  
  return array(
"browser" => $matches['browser'][$i],"version" => $matches['version'][$i]);
}
?>



Käyttö:

<?php
$ua 
browser_info();
?>



Puskee ulos esim seuraavaa:

Array ( [browser] => firefox [version] => 11.0 )

EDITTIÄ: PHP:stä löytyy kyllä sisäänrakennettu funktio tuohon myöskin, mutta se ei ole oletuksena päällä, vaatii että webhotelli enabloi sen:
Lainaa$browser = get_browser(null, true);

;D

Laitoitko omat sivusi toimimaan siten että vanhat mittarit explorerille ja uudet muille??
Otsikko: Vs: Selain-detektori
Kirjoitti: weatherc - lauantai, 14.04.2012, 13:54
LainaaLaitoitko omat sivusi toimimaan siten että vanhat mittarit explorerille ja uudet muille??

Juup  ;D

IE9 olisi muuten "saanut" uudet mittarit mutta kun canvas-tuki ei toimi kunnolla niin ei toimi...