Вот простое решение: все ваши клиенты должны отредактировать свой файл /etc/hosts
(Google, где вы можете найти его в Windows) и добавить следующую строку в свою конфигурацию:
1.2.3.4 jquery-from-closest-server.com
Каждый клиент должен выяснить ближайший сервер с jQuery и заменить 1.2.3.4
его IP-адресом.
В своем HTML-коде всегда используйте ссылку http://jquery-from-closest-server.com/jquery.js
Чтобы быть в безопасности, вы можете зарегистрировать jquery-from-closest-server.com
для тех клиентов, у которых есть доступ в Интернет.
Когда браузер запрашивает файл, он использует /etc/hosts
для разрешения IP-адреса. Поскольку доменное имя будет одинаковым для всех встроенных устройств (изменения в IP-адресе игнорируются браузером), сценарий будет загружен один раз для всех клиентов.
Обратите внимание, что это означает, что вы никогда не сможете перейти на более новую версию jQuery. Проблема в том, что вам придется заменить его на всех встроенных устройствах одновременно, потому что не известно, с какого сервера клиенты скачивают его.
Если это вас беспокоит (и это произойдет примерно через четыре месяца после того, как вы обнаружили первую серьезную ошибку), вот другое решение: вместо того, чтобы обслуживать HTML со встроенного устройства, распространите статическое веб-приложение (набор файлов HTML). и JavaScript), который клиент может установить на своем рабочем столе. Используйте AJAX и iframe
s для замены частей статического веб-приложения данными со встроенного устройства.
Преимущества: * * тысяча двадцать-дв
- очень быстро (вообще никаких загрузок)
- только маленький код на встроенном устройстве
- Простая стратегия обновления
- Никаких взаимоблокировок при необходимости обновления встроенных устройств или приложения контроллера.
[EDIT] PS: рассмотрите возможность сжатия jQuery с помощью gzip. Это оставляет вам файл 33 КБ. Все браузеры HTML5 могут декодировать сжатые файлы, вы просто должны сообщить им, установив необходимые заголовки HTTP.