Предотвратить включение JavaScript в IE6 - PullRequest
3 голосов
/ 20 мая 2011

Мне бы очень хотелось услышать ваши мысли по этой конкретной проблеме:

Я использую функциональность кнопок LinkedIn, и это выглядит так:

<script src="http://platform.linkedin.com/in.js" type="text/javascript"></script>
<script type="IN/MemberProfile" data-id="http://www.linkedin.com/pub/profile" data-format="click" data-text="LinkedIn Profile"></script>

Единственная проблема заключается в том, что она рендеритсяочень плохо в IE6, поэтому все, что я хочу сделать, это спрятать эту кнопку в IE6, я думал об использовании <!--[if gte IE 7]>Javascript code here<![endif]-->, но это также помешало бы его загрузке в любом другом браузере, кроме IE, другой вариант будетиспользуйте jquery: if($.browser.msie && $.browser.version=="6.0"){ } но как мне это сделать с файлами SRC javascript?

Есть мысли?Спасибо!

Ответы [ 5 ]

3 голосов
/ 20 мая 2011

Вы говорите, что пробовали это:

<!--[if gte IE 7]>Javascript code here<![endif]-->

Как вы говорите, это не позволит браузерам, не использующим IE, видеть скрипт.

Но есть способ указать условные комментарии, которыебудут игнорироваться другими браузерами.Все, что вам нужно сделать, это удалить дефисы, которые делают это комментарием, например:

<![if gte IE 7]>Javascript code here<![endif]>

Теперь это будет работать во всех браузерах, кроме IE до IE7.

См. http://en.wikipedia.org/wiki/Conditional_comment для более.

(кстати, не по теме, и я уверен, что вы слышали это уже миллион раз, но я бы серьезно рекомендовал отказаться от поддержки IE6 - практически нет- кто-то еще его использует)

0 голосов
/ 20 мая 2011
if($.browser.msie && $.browser.version=="6.0"){
  $('head').append('<script src="http://platform.linkedin.com/in.js" type="text/javascript"></script><script type="IN/MemberProfile" data-id="http://www.linkedin.com/pub/profile" data-format="click" data-text="LinkedIn Profile"></script>')
}
0 голосов
/ 20 мая 2011
if(! IE6){
    var script = document.createElement("script");
    script.src = "src_to_js_file";
    document.body.appendChild(script);
}

или просто используйте innerHTML, чтобы добавить два тега скрипта в DOM。

0 голосов
/ 20 мая 2011

Вы можете использовать метод jQuery getScript

if(!($.browser.msie && $.browser.version=="6.0"))
    $.getScript('http://platform.linkedin.com/in.js');
0 голосов
/ 20 мая 2011

Попробуйте это

<!--[if ! lte IE 6]>Javascript code here<![endif]-->

или что-то вроде этого

<!--[if (!IE)|(IE gt 6)]>Javascript code here<![endif]-->
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...