Question

J'ai des problèmes étranges avec le mode de compatibilité IE7 et HTML5.

Symptômes: Aller directement à ma page d'accueil, en utilisant PHP peut détecter que c'est ie7.Après avoir frappé un bouton de soumission de formulaire et cliquez sur le bouton Retour arrière, il ne détecte plus comme IE7, même s'il reste en mode de compatibilité.Doit être rafraîchi ou rechargé pour détecter comme IE7 à nouveau.

Que puis-je faire pour rendre cela plus robuste?S'il vous plaît ne dites pas d'utiliser get_browser et Browscap.Je ne souhaite pas continuer à maintenir sur ce brinscap.ini.

dans la tête HTML:

<?php 
    /**
    *   IE 7 has trouble with jscrollpane, so disable for all IE except for 9 which works just fine.
    */ 
    $getBrowser = $_SERVER['HTTP_USER_AGENT']; 
    if( (!stristr($getBrowser,'MSIE')) || stristr($getBrowser,'MSIE 9')):
?>
<script src="jquery/jquery.mousewheel.js"></script>
<link  rel="stylesheet" href="styles/jquery.jscrollpane.css" />
<script src="jquery/jquery.jscrollpane.min.js"></script>
<script  src="jquery/js.js"></script>
<?php endif; ?>

mise à jour:

$getBrowser = $_SERVER['HTTP_USER_AGENT']; 
        if( stristr($getBrowser,'MSIE') === false)

Déménagée JS.JS Line à:

<!--[if IE 9 ]>
    <script  src="jquery/js.js"></script>
<![endif]-->

fait toujours la même chose lorsqu'on frappe le bouton arrière.

EDIT: HOMME .... Je suppose que j'ai des problèmes de machines sérieuses.La boîte avec les fenêtres doit avoir été vissée après la mise à jour de Windows.Désolé pour cette affaire folle.Fonctionne bien sur une autre machine qui n'a pas encore été mise à jour Windows.

Était-ce utile?

La solution

I don't have IE9 so I can't try it but can't you do something like this and place it on the <head>:

<!--[if IE 9]>
     // your includes here
<![endif]-->

Not sure if it matters to you to still see the script tags included in the source but at least it won't execute them unless the check was satisfied.

Autres conseils

As @tradyblix said, you can do this client side. They're called conditional comments.

If you have to do it in the PHP, I would use strpos().

$ua = $_SERVER['HTTP_USER_AGENT'];
if (stripos($ua, 'MSIE') === false || stripos($ua, 'MSIE 9') !== false)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top