gpt4 book ai didi

javascript - 如何从全局范围之外访问 Safari 扩展设置?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:16:26 26 4
gpt4 key购买 nike

我试图让用户通过 HTML 首选项页面配置我的 Safari 扩展(许多 Safari 扩展都这样做)。我从全局 html 文件中的 javascript 调用打开此页面:

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 扩展中看到了类似的方法 - 所以它应该是可能的,但我无法让它工作 :(

最佳答案

在全局脚本中,尝试 safari.application.addEventListener

关于javascript - 如何从全局范围之外访问 Safari 扩展设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29402082/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com