Por que o IE7 compatibilidade botão voltar do php não pode detectar como o IE7?
-
14-11-2019 - |
Pergunta
Eu estou tendo estranho problemas com o IE7 modo de Compatibilidade e HTML5.
Sintomas:Vai directamente para a minha página inicial, usando o PHP pode detectar que é IE7.Depois de bater um formulário botão de submeter e clicando em a volta do botão, ele não detecta como o IE7 mesmo, enquanto ainda em modo de compatibilidade.Deve ser de atualização ou recarregado para detectar como o IE7 novamente.
O que posso fazer para tornar isso mais robusto?Por favor, não diga usar get_browser e browscap.Eu não quiser manter manter em que browscap.ini.
no head do 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; ?>
Atualizado:
$getBrowser = $_SERVER['HTTP_USER_AGENT'];
if( stristr($getBrowser,'MSIE') === false)
Realocada js.js linha:
<!--[if IE 9 ]>
<script src="jquery/js.js"></script>
<![endif]-->
Faz a mesma coisa ao pressionar o botão voltar.
Editar:Homem....Eu acho que eu estou tendo sérios problemas de máquina.A caixa com o windows deve ter sido asneira após a atualização do windows.Desculpe-nos por essa coisa doida.Funciona bem em outro computador que não executou o windows update ainda.
Solução
Eu não tenho IE9 então eu não posso experimentá-lo, mas você não pode fazer algo como isso e coloque-o na <head>
:
<!--[if IE 9]>
// your includes here
<![endif]-->
Não tenho certeza se é importante para você continuar a ver o script
tags incluído em a origem, mas pelo menos ele não executá-los, a menos que a seleção estava satisfeito.
Outras dicas
Como o @tradyblix disse, você pode fazer isso do lado do cliente.Eles são chamados de comentários condicionais.
Se você tiver que fazê-lo no PHP, gostaria de usar strpos().
$ua = $_SERVER['HTTP_USER_AGENT'];
if (stripos($ua, 'MSIE') === false || stripos($ua, 'MSIE 9') !== false)