FireFox SDK 插件 - 禁用/卸载时的“分离内容脚本”
FireFox SDK Addon - "Detach content script" on disable/unload?
我在尝试弄清楚禁用和卸载插件时如何处理分离事件时遇到了一些问题。
在main.js
和我的内容脚本中,我正在捕获在两种情况下都会触发的"分离"事件,但内容脚本实际上并未从选项卡中删除。结果,我的听众和观察者在插件被禁用后继续触发。
我的理解是destroy()
被触发,这应该删除内容脚本,但是如果我在开发工具中查看调试器,则在禁用后脚本仍然会列出。
我可以在处理分离事件时删除侦听器和观察器,但我的理解是内容脚本在分离期间被删除,所以侦听器应该被删除吗?
我还想只是从 DOM 中删除内容脚本,但如果您执行以下操作,则不会列出内容脚本:
var scripts = document.getElementsByTagName("script");
for (i=0;i<scripts.length;i++){
if(scripts[i].src == "content-script.js"){
console.log("content script found");
}
}
执行分离时,是否需要再次调用某些内容以使其知道您已完成清理?每当我在main.js
或内容脚本中捕获分离事件时,它都会在使用 cfx
?这就是它没有完成删除的原因吗?
我的理解是 destroy() 被触发,这应该删除 内容脚本,但如果我在开发工具中查看调试器,脚本 在我禁用后仍然列出。
我可以在处理分离时删除侦听器和观察器 事件,但我的理解是内容脚本被删除 在分离过程中,侦听器,应该被删除吗?
这是一个非常好的问题。
分离事件是事件旨在让您知道是时候清理内容脚本了。 事件侦听器需要删除,添加到窗口范围的任何内容也应该删除,
您无需让main.js
脚本知道何时完成。
相关文章:
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 借助asp.net验证或java脚本对多个文本进行验证
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- Java脚本时间添加
- 不显示带有本地json文件数据的谷歌地图脚本
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 从远程脚本获取用户IP
- 如何根据时间运行不同的脚本
- 如何将字符串值从php页面发送到java脚本页面
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- FireFox SDK 插件 - 禁用/卸载时的“分离内容脚本”
- 在单页应用中将敏感的业务层逻辑与客户端脚本分离/保护
- 从主脚本文件中分离数组
- 有必要将元素分离出来.谷歌文档脚本错误
- js从html文档中分离脚本标签
- 剑道UI - Java脚本事件处理程序(代码分离+参数)
- 如何在带有参数的脚本行中分离javascript和标记
- Chrome用户脚本是否与全局命名空间分离,如Greasemonkey脚本
- 谷歌应用程序脚本:分离HTML和CSS
- 如何为 HTML 分离 JavaScript 脚本