window.location ="data:application/octet-stream," + encodeURI(JSON.stringify(translations.custom));
Вот как скрипт перевода Pixiv сохраняет пользовательские добавленные переводы (которые в нем не прописаны).Вы просто получаете диалоговое окно сохранения файлов, как если бы вы нажали на прямую ссылку.
Translations.custom - это просто объект в формате JSON (var a = {b: 1};).
У меня естьЯ не знаю, как вам нужно отформатировать ваши данные, хотя, если они не в JSON, но вы можете поэкспериментировать с этим, я думаю.
Альтернативным подходом будет замена html всего документа и тогда просто сохраните страницу.