Я знаю, что вы можете включить CSS и изображения, среди других типов файлов, которые были сохранены в форме base64 в файле javascript.Тем не менее, они довольно большие ... и сжатые, они сокращают LOT, даже с ~ 33% накладных расходов от кодировки base64.
Изображения без gzip - это данные: image / gif; base64, data: image / jpeg, data: image / png, а css - это data: text / css; base64.Какой тип MIME можно / нужно использовать, чтобы включить URI-коды данных CSS или изображений, которые распакованы?(Или, если gzip + base64 не может работать, есть ли какое-либо другое сжатие, которое я могу сделать, чтобы уменьшить размер строки, сохраняя при этом данные, хранящиеся в javascript?)
.. edit .. Я думаювопрос неправильно понимается.Я не спрашиваю , если , я должен включать gzip-строки base64 в javascript.Да, я знаю, что в большинстве случаев лучше сжать javascript и другие файлы на стороне сервера.Но это не применимо для usercript;Пользовательский скрипт не имеет сервера и состоит только из одного файла.Firefox допускает директиву @require, а Opera и Chrome - нет, и проблемы безопасности локальных файлов вступают в игру при загрузке любых локальных файлов.Таким образом, все, что нужно сценарию, должно быть либо: 1) в сети (медленное), либо 2) встроенным в пользовательский скрипт (большое).
Теперь этот вопрос предполагает, что большое предпочтительнее медленного, но это большоене означает, что мы полностью игнорируем, насколько велика;если оно может быть меньше, это улучшение.
Итак, если предположить, что строка base64 встроена в javascript, вопрос в том, как превратить ее во что-то значимое.
Либо:
1) atob () может конвертировать необработанный gzip в кодировке base64 в необработанный gzip в javascript.(Атоб не должен знать медиатип).Тогда возникает вопрос, как распаковать этот необработанный gzip-файл css или файл изображения, чтобы результирующий вывод мог быть передан в документ.
или 2), учитывая правильный медиатип, браузеры, по крайней мере теоретически (согласно RFC для данных) должен иметь возможность загружать любой файл напрямую из datauri.«» достаточно для загрузки таблицы стилей CSS без gzipped.Вопрос здесь заключается в том, какая комбинация атрибута типа ссылки и типа данных datauri должна работать (и для каких браузеров она будет работать)?Предпочтительно для пользовательского сценария это будет комбинация, которая работает в Opera, FF и Chrome.