Я написал сценарий Greasemonkey, который прекрасно работает в NinjaKit, новом менеджере пользовательских скриптов Safari, но когда я пытаюсь скомпилировать тот же скрипт с помощью построителя расширений Safari 5, я получаю очень странное поведение.
Сценарий предоставляет пользователю экран редактирования параметров. Когда вы нажимаете кнопку «Сохранить», сценарий сохраняет пользовательские настройки в виде JSON-пакета с помощью HTML5 localstorage API, затем сценарий закрывает экран параметров и перезагружает страницу, при перезагрузке страницыскрипт должен перезагрузить настройки из JSON в localstorage, и скрипт должен действовать в соответствии с новыми настройками, чтобы отобразить страницу так, как этого хочет пользователь, в соответствии с заданными настройками.
Проблема, которую я вижу, заключается в том, чтоЯ запускаю его как расширение. Когда я нажимаю кнопку «Сохранить», скрипт перезагружает страницу, но при перезагрузке страницы изменения, внесенные пользователем в настройки, не применяются к странице.странная вещь: если я затем вручную перезагружаю страницу с помощью кнопки обновления браузера, изменения, сделанные пользователем в настройках, внезапно становятся очевидными.очевидно, что данные были сохранены в локальном хранилище, но по какой-то причине, когда страница перезагружается в первый раз, она каким-то образом перезагружается из кэшированного файла, и только при второй ручной перезагрузке новая страница отображается правильно.Я не могу понять, почему это работает как обычный пользовательский скрипт в ninjakit, а также на самом деле работает в Firefox, Opera и Google Chrome, он просто не будет работать как расширение в Safari, это так раздражает.Я испробовал множество способов убедиться, что Safari 5 не перезагружает кэшированную страницу, например, добавив дополнительные параметры в URL, но я просто не могу заставить его работать, без необходимости дважды перезагружать страницу.
Кстати, я не использую систему настроек расширения собственного safari, так как хочу, чтобы скрипт был кросс-браузерно-совместимым, поэтому я сохраняю настройки в localalstorage.
Кто-нибудь еще видел это?поведение?Или есть какие-нибудь подсказки, как это исправить?Это сводит меня с ума ...