HTML5Boilerplate / include библиотеки - запасной вариант? - PullRequest
0 голосов
/ 16 сентября 2011

Мне сейчас интересно кое-что о HTML5BP ...

Я хочу включить JQuery mobile и JQuery UI, и я не уверен, что это правильный путь:

<body>
    <!-- scripts and fallback to local -->
    <script src="//code.jquery.com/jquery.min.js"></script>
    <script src="//code.jquery.com/mobile/latest/jquery.mobile.js"></script>
    <script src="//code.jquery.com/ui/1.8.16/jquery-ui.min.js"></script>
    <script>window.jQuery || document.write('<script src="js/libs/jquery-1.6.2.min.js"><\/script>')</script>
    <script>window.jQuery || document.write('<script src="js/libs/jquery-ui.min.js"><\/script>')</script>
    <script>window.jQuery || document.write('<script src="js/libs/jquery.mobile.min.js"><\/script>')</script>
    <!-- end scripts and fallback to local -->

    <!-- scripts concatenated and minified via ant build script-->
    <script src="js/plugins.js"></script>
    <script src="js/script.js"></script>
    <!-- end scripts concatenated and minified via ant build script-->

почему я не уверен, что когда я за прокси-сервером и не могу получить доступ к Интернету, я ожидаю, что локальный резерв будет работать, но это не так.Я получаю ошибку аутентификации, и страница не загружается.

Это способ, как правильно включить его?

В голове я предпочитаю:

   <link rel="dns-prefetch" href="//code.jquery.com" />

Спасибо!

Ответы [ 2 ]

1 голос
/ 11 октября 2011

Не уверен, если вы все еще ищете помощь здесь, но здесь идет. Ваша dns-prefetch верна, и загрузка скрипта в основном корректна с двумя проблемами:

  1. Вы только проверяете, загружен ли jQuery для ваших запасных вариантов. Это означает, что если jQuery загружается правильно, но по какой-то причине jQuery UI или Mobile не будут работать, ваши запасные варианты не будут работать. Не совсем вероятно, так как ваша загрузка из того же места, но все же ...
  2. Ваш заказ неверен. Я думаю, что вы должны проверить сразу после каждого - просто менее запутанным. Также усложняется порядок загрузки - мобильное обнаружение, приведенное ниже, скорее всего, приведет к ошибке, если jQuery не будет загружен первым ...

Я изменил ваш код ниже. Обратите внимание, что мобильное обнаружение - это мое собственное изобретение (за последние 5 минут). Это работает, но я не могу гарантировать потрясающую крутость!

<body>
    <!-- scripts and fallback to local -->
    <script src="//code.jquery.com/jquery.min.js"></script>
    <script>window.jQuery || document.write('<script src="js/libs/jquery-1.6.2.min.js"><\/script>')</script>
    <script src="//code.jquery.com/ui/1.8.16/jquery-ui.min.js"></script>
    <script>window.jQuery.ui || document.write('<script src="js/libs/jquery-ui.min.js"><\/script>')</script>
    <script src="//code.jquery.com/mobile/latest/jquery.mobile.js"></script>
    <script>window.$.mobile || document.write('<script src="js/libs/jquery.mobile.min.js"><\/script>')</script>
    <!-- end scripts and fallback to local -->

    <!-- scripts concatenated and minified via ant build script-->
    <script src="js/plugins.js"></script>
    <script src="js/script.js"></script>
    <!-- end scripts concatenated and minified via ant build script-->
0 голосов
/ 14 февраля 2014

+ 1 lnrbob

Я также обычно делаю условия для версий jQuery, чтобы облегчить просмотр страниц для обычных браузеров и отправить старый jQuery в duds.

<!--[if (gte IE 9) | !(IE)]><!-->
  <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
  <script>if (!!window.jQuery && jQuery().jquery !== '2.0.3') document.write('<script src="<?= ASSETS ?>js/jquery.2.0.3.min.js" type="text/javascript"><\/script>')</script>
<!--<![endif]-->
<!--[if lte IE 8]>
  <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
  <script>if (!!window.jQuery && jQuery().jquery !== '1.10.2') document.write('<script src="<?= ASSETS ?>js/jquery.1.10.2.min.js" type="text/javascript"><\/script>')</script>
<![endif]-->
...