Я пытаюсь разрешить пользователю настраивать мое расширение сафари с помощью страницы предпочтений HTML (как это делают многие расширения Safari). Я открываю эту страницу из яваскрипта вызова внутри моего глобального HTML файла:Как я могу получить доступ к настройкам расширения Safari извне глобальной области?
var newTab = safari.application.activeBrowserWindow.openTab();
newTab.url = safari.extension.baseURI + "settings/settings.html";
что я не могу управлять, чтобы сделать, это написать что-нибудь из этого settings.html
в фактические настройки расширения Safari или получить доступ к глобальной странице.
safari.extension.settings.MY_SETTINGS = settingsData;
safari.extension.globalPage
Оба этих вызова приводят к исключениям, и объекты отображаются неопределенными.
Я также пытался отправить сообщения, но, похоже, не получил их в глобальном пространстве, где я думал, что смогу снова получить доступ к настройкам.
safari.self.tab.dispatchMessage("store_settings", settingsData); //settings javascript
Эти сообщения не получены слушателем событий.
safari.self.addEventListener("message", process_messages, false); //GLOBAL javascript
Любая идея, почему я не могу получить доступ к настройкам расширения? Нужно ли мне инициализировать что-то для моего settings.html
, чтобы иметь возможность доступа к настройкам расширения?
PS: Я видел подобный подход работает внутри расширения ClickToPlugin Safari - так это должно быть возможно, но я не могу заставить его работать :(