2013-07-16 3 views
1

У меня есть сценарий, где мне нужен JavaScript для загрузки во всех браузерах, кроме IE7. Любая помощь приветствуется. Я попытался следующий код:отключить javascript только в IE7

<!--[if gt IE 7]> 
<script type="text/javascript"> 
    //Some script XXX to execute 
</script> 
<![endif]--> 
<!--[if (gt IE 9)|!(IE)]><!--> 
<script type="text/javascript">  
    //Some script XXX to execute 
</script> 
<!--<![endif]--> 
+3

Что это бред ?? –

+0

, если вы используете jquery, почему бы не использовать его для обнаружения версии браузера и выполнить условное выполнение. –

+0

Возможный дубликат [Условный комментарий для «За исключением IE8»?] (Http://stackoverflow.com/questions/1692129/conditional-comment-for-except-ie8) – epascarello

ответ

0

попробовать это

if ($.browser.msie == true && $.browser.version < 8) { 
      //code for ie 7 
     } 
else 
{ 
     document.write("<script src=\"test.js\">"); 
} 
+1

Обратите внимание, что $ .browser удален из jQuery с версией 1.9. – dsomnus

+0

Этот вопрос не помечен _jQuery_ (хотя он используется в коде) –

1

Я думаю, что это тоже работает

<!--[if !(IE 7)]> 
    // tag here 
<![endif]--> 

Вы также можете сделать комбинацию

<![if !IE]> 
    // script tag 
<![endif]> 

<!--[if (gte IE 8)&(lt IE 7)]> 
    // script tag 
<![endif]--> 

см Docs здесь http://msdn.microsoft.com/en-us/library/ms537512%28v=vs.85%29.aspx

Я не уверен, что вы хотите загрузить весь файл или несколько строк сценария. Если это только несколько строк JQuery путь проще

0

Похоже, вы уже на правильном пути с conditional comments

<!--[if !(IE 7)]>--><script>alert("I'm not IE7");</script><!--<![endif]--> 

К любому браузеру, не IE, это становится

<!--[if !(IE 7)]>-->      Comment 
<script>alert("I'm not IE7");</script> Element 
<!--<![endif]-->       Comment 

В любой браузер IE это становится

<!--[if !(IE 7)]>      If not IE 7 
-->          (continued) AND Comment 
<script>alert("I'm not IE7");</script> Element 
<!--<![endif]-->       Comment AND End if 

Из которого, если это IE 7, он получает пропущено.

<!--[if !(IE 7)]>      If - not rendered 
             SNIP 
<![endif]-->        End If 

Вы могли бы сократить это вниз, если вы не возражаете недопустимый HTML

<![if !(IE 7)]><script>alert("I'm not IE7");</script><![endif]> 
Смежные вопросы