可能是重复问题:
Safari 5扩展:如何检测窗口的当前选项卡已更改?
我想在Safari中实现一个特定于选项卡的弹出窗口,并通过按钮触发(可以可见地切换)。如何确保当切换选项卡时,按钮将正确切换,即如果弹出窗口可见,则突出显示;否则不突出显示。
我查看了“选项卡切换”之类的事件来监听,但没有起作用,聚焦也是如此。
有任何想法吗?
谢谢。
可能是重复问题:
Safari 5扩展:如何检测窗口的当前选项卡已更改?
我想在Safari中实现一个特定于选项卡的弹出窗口,并通过按钮触发(可以可见地切换)。如何确保当切换选项卡时,按钮将正确切换,即如果弹出窗口可见,则突出显示;否则不突出显示。
我查看了“选项卡切换”之类的事件来监听,但没有起作用,聚焦也是如此。
有任何想法吗?
谢谢。
与 Chrome 不同,Chrome 为诸如窗口和标签更改之类的事件提供了特殊的 API, 但你仍然可以通过 Safari 扩展来完成。
你只需要在注入的 Javascript 中设置事件监听器以处理你所需的事件即可。
如果该信息被全局或扩展的其他部分所需,你可以使用 postMessage 命令将其作为消息传递。
injected.js:
window.addEventListener("load", loaded, false);
safari.self.tab.dispatchMessage("somethinghappened","load");