2012-07-01 2 views
5

Обычно мы проверяем, загружен ли jQuery из CDN или нет, и отмените локальную версию, если это не так.Проверьте, загружена ли html 5 shim

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.7.1.min.js"><\/script>')</script> 

Я использую Twitter Bootstrap, и он загружает HTML 5 подкладку из googlecode копии.

<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>

Есть ли способ, что я могу Откат к локальной версии, если она не загружается из googlecode

Или я делаю что-то неправильно. Разве я не проверяю это?

ответ

11
<script>window.html5 || document.write('<script src="js/libs/your-local-version.js"><\/script>')</script> 
+0

Я буду использовать только локальную версию, но ваш ответ определенно является ответом на вопрос. Оно работает ! – Jashwant

+2

Пожалуйста, не используйте document.write ... Спекулятивный анализатор не может загрузить вставленный им скрипт, и вам придется ждать выполнения кода, и JS вставлен им для загрузки перед другими элементами DOM под ним можно просмотреть http://www.stevesouders.com/blog/2012/04/10/dont-docwrite-scripts/ –

4

Я бы не стал возвращаться с помощью jQuery (длительное обсуждение и может червяков, которые я бы предпочел не открывать), но это зависит от вас.

Я действительно думаю, что загрузка html5.js из googlecode вызовет у вас больше проблем, и вы должны разместить его локально. Зачем? Потому что вы ссылаетесь на код непосредственно из ствола дерева SVN. Этот код может/изменится на вас, что приведет вашу работу в непроверенное состояние. Вы можете ссылаться на конкретную версию из Googlecode ... или действительно, просто разместите ее самостоятельно.

+0

Теперь я понимаю все ваши проблемы. +1 – Jashwant

1

При использовании html5shim я бы рекомендовал поместить его локально в первую очередь. На своем веб-сайте они недавно изменили формулировку, чтобы вы загрузили файл, а не hotlink его из GitHub, который мог бы содержать непроверенный код.

+0

Спасибо за информацию +1 – Jashwant

4

Хост Шив локально, есть много проблем, используя его от Google (не в последнюю очередь DNS просмотра и т.д.) подробнее см - http://zoompf.com/blog/2012/05/html5shiv-and-serving-content-from-code-repositories

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

Если вы сообщите мне URL-адрес вашей страницы, я продемонстрирую.

+0

Какая приятная информация. +1. Я должен отметить ответ Владимира, потому что это правильно отвечает на заданный вопрос. Но да, я не буду использовать версию Google точно. – Jashwant

+0

Проблема в том, что код Владимира содержит плохую практику с точки зрения производительности :-( –

+0

Да, я не буду использовать код Владимира. Я с вашим предложением. Теперь я не буду использовать даже cdn jQuery. 'Но его ответ был ответ на мой вопрос' – Jashwant

Смежные вопросы