Подтвердить что ты не робот

Как условно включить удаленный файл JavaScript?

У меня есть HTML-страница.

В этом, в зависимости от браузера, мне нужно включить отдельный файл JavaScript.

Как это возможно?

<script type="text/javascript">
if(navigator.appName == 'Microsoft Internet Explorer')
{
//here i need to include one.js
}
else
{
//here i need to include two.js
}

</script>
4b9b3361

Ответ 1

И, наконец, если вы уже используете JQuery в своем проекте и просто оставили тег для него, вы можете использовать $. getScript

Ответ 2

Вот один из способов, возможно, не самый лучший.

<script type="text/javascript">
if(navigator.appName == 'Microsoft Internet Explorer')
{
    document.write("<script tag here>");
}
else
{
    document.write("<other script tag here>");
}

Ответ 5

<script type="text/javascript">
var src = navigator.appName == "Microsoft Internet Explorer" ? "one.js" : "two.js";

var script = document.createElement("script");
regScript.setAttribute("src", src);
document.getElementsByTagName("head")[0].appendChild(script);
</script>

Конечно, вы могли бы также разделить тернарный оператор выше по своему вкусу.

Ответ 7

Я рекомендую вам использовать LAB.js или YepNope (script). Оба делают большие усилия по загрузке внешних скриптов наилучшим образом.

Например, используя YepNope с двумя условными нагрузками:

var agent = navigator.userAgent;
yepnope({
    test : /(msie) ([\w.]+)/.test(agent), // internet explorer
    yep  : 'ie.js',
    nope : 'other-script-if-you-want.js'
});
yepnope({
    test : /(mozilla)(?:.*? rv:([\w.]+))?/.test(agent), // firefox
    yep  : 'firefox.js'
});

Ответ 8

<script type="text/javascript">
  if(condition===true){
    document.write(unescape(
      '%3Cscript src="file1.js"%3E%3C/script%3E'+
      '%3Cscript src="file2.js"%3E%3C/script%3E'
    ));
  }
</script>

Простой и легкий. 1 строка на JS файл.