WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Хостинг, VPS/VDS и отдельные сервера только на SSD дисках. 7 дней бесплатного тестирования.

Как проверить доступность CDN и в случае если CDN не доступна загрузить локальный файл

Столкнулся со следующей дилеммой, пусть пока теоретически но все же.
Иногда при подключение скрипта с использованием CDN, эта самая CDN может быть недоступна (гипотетически). И хорошо было бы в таком случае загружать локальный скрипт. Вопрос как это сделать?
Нашел одно из решений здесь: https://wordpress.stackexchange.com/questions/147238/wp-enqueue-script-using-scripts-from-cdn-with-a-safety-callback
Но в комментах пишут что это не тру так проверять.
Попробовал так:

wp_enqueue_script('bootstrap', 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js', array('jquery'), null, 'in_footer');
  if (!wp_script_is( 'bootstrap', 'enqueued')) {
	wp_enqueue_script('bootstrap', get_stylesheet_directory_uri().'/js/bootstrap.min.js', array('jquery'), null, 'in_footer');
  }

Для проверки изменяю URL CDN, например, "https://mytest.bootstrapcdn.com"
и в консоле получаю ошибку "GET https://mytest.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js net::ERR_NAME_NOT_RESOLVED" и локальный файл не загрузился.
Как решить?

0
Гость
11 месяцев назад
  • 0
    Kama7100

    Функции подключения вроде wp_enqueue_script() просто выводят URL где нужно (подключают скрипт) и ничего не проверяют...

    А вообще, не забивай голову и время ерундой - CDN на то и нужны, чтобы работали стабильно и быстро, вероятность что там сервер отвалится гораздо меньше чем вероятность падения твоего сервера... Выводи CDN ссылку и не парься, или подключай локальный файл, что тоже хорошо, особенно если на сервере загрузка файлов оптимизирована...

    Гость 11 месяцев назад

    Так и сделал. На удивление, при хорошей оптимизации, лучше подключать локально, без CDN. Во всяком случае у меня быстрее выходит (проверял в пределах континента).

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация