J'utilise la fonction get_browser()
pour essayer d'avertir les gens que leur navigateur ne prend pas en charge Javascript. En fait, je l'utilise pour leur dire qu'ils peuvent utiliser certaines parties d'une application Web que je construis. J'ai décidé d'utiliser correctement Javascript parce que je suis fatigué d'écouter les développeurs qui ont peur de l'utiliser et j'ai vu un grand potentiel dans le langage. Je m'égare, voici l'erreur.
la directive Ini Browscap n'est pas définie
Maintenant, j'imagine que cela signifie que j'ai besoin de quelque chose pour le php.ini. Quelqu'un peut-il me donner des indications sur celui-ci?
Je ne pense pas que ce soit la "meilleure" solution à détecter si un navigateur prend en charge ce dont vous avez besoin pour votre site Web:
User-Agent
Pour le deuxième point, vous devez tester si le navigateur prend réellement en charge ce dont vous avez besoin - et ne pas compter sur une liste telle que celle du navigateur.
Pourtant, pour répondre à votre question sur browscap
: il y a une note en bas de la page de manuel pour get_browser
qui dit (citation):
Remarque: Pour que cela fonctionne, votre paramètre de configuration
browscap
dans php.ini doit pointer vers l'emplacement correct dubrowscap.ini
fichier sur votre système.browscap.ini
n'est pas fourni avec PHP, mais vous pouvez trouver une mise à jour "php_browscap.ini
fichier ici.
Tandis quebrowscap.ini
contient des informations sur de nombreux navigateurs, il s'appuie sur les mises à jour des utilisateurs pour maintenir la base de données à jour. Le format du fichier est assez explicite.
Vous devez donc:
browscap
dans votre php.ini
fichier, donc il pointe vers le fichier que vous avez téléchargé.Je sais que ce sujet est ancien, mais vous pouvez utiliser quelque chose comme:
<noscript>JavaScript must be enabled</noscript>
à afficher si JavaScript n'est pas activé.
Vous pouvez vérifier le navigateur en utilisant la classe Browser, téléchargez-le depuis Github
Configuration
include(/your-path/Browser.php);
$browser = new Browser();
if( $browser->getBrowser() == Browser::BROWSER_IE && $browser->getVersion() >= 8 )
{
echo "Your browser is Internet Explorer version 8";
}
Il y a un bug dans PHP qui peut également entraîner cette erreur lorsque le vrai problème est que le serveur Web ne peut pas lire le fichier de navigation (par exemple, s'il appartient à root au lieu de www- Voir https://bugs.php.net/bug.php?id=74501