我想让用户通过HTML首选项页面配置我的safari扩展(如许多Safari扩展所做的那样)。我打开从javascript调用该页面My全局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的扩展中工作 - 所以它应该是可能的,但我不能让它的工作:(