Хостинг JavaScript-библиотек
  • mosgazmosgaz Март 2012
    На Яндексе и Googl'e есть хостинг JavaScript-библиотек. В подключении популярных библиотек со сторонних серверов (CDN) есть очевидные плюсы. Хотел поинтересоваться как можно сделать стандартную проверку успешного подключения библиотеки, и в случае отсутствия оного (файл/ресурс недоступен или сайт на локалке и нет интернета), загружать со своего сервера.
    Первое что пришло на ум:
    1. jQuery
    if(typeof jQuery == 'undefined'){// загружаем jQuery со своего сервера}
    2. Плагин jQuery
    if (!jQuery().fancybox){// загружаем FancyBox со своего сервера}
    или
    if (!jQuery.fn.fancybox){// загружаем FancyBox со своего сервера}
    и т.д.

    Это не универсальное решение, может кто-нибудь подскажет лучше? Может какую-нибудь проверку существования файла по заголовкам или какой-нибудь финт ушами?
  • doctorgrifdoctorgrif Март 2012
    ну какбы так можно
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js"></script>
    <script>window.jQuery || document.write("<script src='bla-bla/jquery-1.7.1.min.js'>\x3C/script>")</script>

    либо как-то так
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js">
    <script>!window.jQuery AND document.write(unescape('%3Cscript src="bla-bla/jquery-1.7.1.min.js"%3E%3C/script%3E'))</script>

    у wp есть прекрасный сниппет для этого, может его какбэ в функцию ядра переделать
    add_action( 'init', 'jquery_register' );
    function jquery_register() {
    if ( !is_admin() ) {
    wp_deregister_script( 'jquery' );
    wp_register_script( 'jquery', ( '<a href="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'" target="_blank" rel="nofollow">http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'</a> ), false, null, true );
    wp_enqueue_script( 'jquery' );}}
    Отредактированно doctorgrif в 2012-03-29 04:39:36
  • mosgazmosgaz Март 2012
    Блин, а ларчик просто открывался. Спасибо!

Добро пожаловать!

Похоже, что Вы здесь впервые. Если хотите поучаствовать, нажмите на одну из этих кнопок!

Войти Зарегистрироваться

В теме отметились