【发布时间】:2017-10-22 19:00:07
【问题描述】:
当您注册一个事件以加载一个事件页面时,该事件注册究竟存储在哪里?文档说事件侦听器仅存在于事件页面的上下文中,但这似乎与正在使用的那些侦听器相矛盾。例如:
- 我的扩展程序已安装并调用
runtime.onInstalled() - 在该方法的回调中,我使用
chrome.tabs.onCreate.addListener()注册了一个事件。 - 我去厨房拿了一袋Funyuns。当我回来擦掉手上的 Funyuns 灰尘以打开一个新标签时,
runtime.onSuspend()将被调用并且活动页面将被卸载 - 我打开另一个选项卡并调用侦听器。更重要的是,再次注册了监听器,因此当我打开更多标签时可以加载后台页面
这似乎是有道理的,除了页面第一次被卸载时,那个事件监听器去哪里了?如果监听器已注册,然后我关闭浏览器,然后打开一个新选项卡,当我再次打开浏览器时,该监听器是否仍会注册(因此创建了一个选项卡)? Chrome 中是否有任何方法可以跟踪注册了哪些事件侦听器?
【问题讨论】:
标签: javascript google-chrome events