Здравствуйте, возникла следующая проблема, всю голову себе сломал.
Задача: Написать выдачу генерируемого UserScript с настройками.
Пользователь заходит на страницу, выбирает нужные настройки, жмёт сгенерировать и ему должен установится скрипт.
Но сделать такое не получается и вот почему.
Opera - сохранять нужно вручную скрипт в папку.
Firefox, Chrome - перехват адреса скрипте и предложение его установить.
Сначала пошел по стандартному сценарию, который казался мне верным.
Выдачу скрипта сделать через
header('Content-Type: text/javascript; charset=utf-8');
header('Content-Disposition: attachment; filename="script.user.js"');
Opera - нормально.
Firefox,Chrome - не перехватывают.
Ладно, значит им нужно, чтобы script.user.js был в адресной строке.
Попытка номер два.
Делаю в .htaccess исполняемый файл client.user.js - как пхп.
В форме генерации шлю на него данных.
Итог:
Opera,Chrome - нормально.
Firefox - Отказывается слать POST запрос на js файл. Форма постовая, но фаерфокс видит js расширение и шлет GET запрос.
Пробую следующий способ:
.htaccess
RewriteRule client.user.js gen.php
Делаю чтобы при запросе скрипта js, срабатывал скрипт gen.php
При нажатии генерации, происходит сохранение скрипта и пользователя редиректит на client.user.js (который обрабатывает файл gen.php)
Opera,Chrome - нормально обрабатывают скрипт.
Firefox - показывает содержимое скрипта, делает запрос на установку, но кнопка "Установить" не работает!
Применять способ генерации временных ссылок совсем не хочется для такого простого скрипта. Думаю, может другие способы есть выдачи пользовательских скриптов?