Google chrome extension Chrome扩展:是否可以使用注入的脚本重新连接到孤立选项卡?

Google chrome extension Chrome扩展:是否可以使用注入的脚本重新连接到孤立选项卡?,google-chrome-extension,Google Chrome Extension,我有一个扩展,可以从后台脚本以编程方式将脚本注入页面 当页面继续使用注入的脚本运行时,通常会重新启动扩展 但是,一旦扩展重新启动,内容脚本就不能再与后台通信 那么,是否可以在扩展重新启动后重新连接到孤立选项卡,而不必将另一个脚本注入该页面?否。唯一的方法是重新注入内容脚本。为什么会有问题?如果你再次注入一个脚本,会有两个脚本同时运行,这是不好的,只有当你有DOM事件监听器时才会有问题,你可以通过检测孤立状态来解决,例如,如果检测到,手动分离监听器。我确实有DOM事件监听器,我确实在尝试发送消息时

我有一个扩展,可以从后台脚本以编程方式将脚本注入页面

当页面继续使用注入的脚本运行时,通常会重新启动扩展

但是,一旦扩展重新启动,内容脚本就不能再与后台通信


那么,是否可以在扩展重新启动后重新连接到孤立选项卡,而不必将另一个脚本注入该页面?

否。唯一的方法是重新注入内容脚本。为什么会有问题?如果你再次注入一个脚本,会有两个脚本同时运行,这是不好的,只有当你有DOM事件监听器时才会有问题,你可以通过检测孤立状态来解决,例如,如果检测到,手动分离监听器。我确实有DOM事件监听器,我确实在尝试发送消息时用try-catch解决了这个问题,因此如果失败,我会断开侦听器的连接。但在我看来,这是一个非常肮脏的怪癖。唯一的方法是重新注入内容脚本。为什么会有问题?如果你再次注入一个脚本,会有两个脚本同时运行,这是不好的,只有当你有DOM事件监听器时才会有问题,你可以通过检测孤立状态来解决,例如,如果检测到,手动分离监听器。我确实有DOM事件监听器,我确实在尝试发送消息时用try-catch解决了这个问题,因此如果失败,我会断开侦听器的连接。但在我看来,这是一个非常肮脏的怪癖。