Javascript, встроенный между тегами сценария vs src DATA URI UTF-8 с процентным кодированием
Сначала я строю мобильный и использую крошечные фреймворки (до 10 КБ), которые я встроил в index.html, чтобы сэкономить на HTTP-запросе.
Я искал несколько дней, и кажется, что все остальные, кто использует JavaScript, делают это так:
<script>UGLIFIED JAVASCRIPT</script>
Я делаю это так:
<script src="data:application/javascript;utf8, UGLIFIED PERCENT-ENCODED JAVASCRIPT"></script>
Вы можете сказать, что процентное кодирование сделает файл намного больше, но на самом деле это не так, потому что работает gzip - он заменяет повторение и не имеет значения, является ли повторяющаяся фраза <div>
или же %3Cdiv%3E
,
Мой вопрос - есть ли потенциальные преимущества моего подхода?
PS. Одной из моих идей было кеширование в браузере файловых элементов DATA-URI, но я не знаю, имеет ли это смысл с тех пор, мне нужно было бы также найти способ контролировать, как предотвратить загрузку частей index.html. Если бы я не мог использовать кэшированные элементы в другом месте - это также имело бы случаи использования. Мысли?
1 ответ
Во-первых, если ваш сайт не является SPA, вставка общих сценариев (независимо от метода) означает, что вы загружаете их на каждую страницу, сводя на нет значение кэша браузера.
Во-вторых, обход по проводам может быть похожим для кодированного, а не для сценария, но более важной метрикой является время, необходимое для анализа и компиляции Javascript. Декодирование URL-адресов не является бесплатным, но, хотя я не думаю, что оно будет иметь большое значение в общей схеме вещей, я не вижу причин, по которым его можно было бы загружать быстрее, чем просто скрипт внутри тега.