javascript - Firefox 扩展的线程行为可能吗?

标签 javascript multithreading firefox

Firefox 扩展的线程行为是否可能?

我的意思是让每个 Firefox 选项卡运行一个“线程”。

刚刚完成了一个对 Firefox 窗口中的页面执行某些操作的扩展,但发现如果我想在每个选项卡中运行扩展逻辑,则需要进行一些重大重组才能使扩展正常工作。

Methinks 除了跟踪每个选项卡的上下文之外,我还必须以循环方式安排每个选项卡内容的处理,这样一旦我暂停处理一个选项卡并转到另一个选项卡,前一个选项卡的上下文是当我再次回到它时保存。

是的 - 我必须将我的扩展程序变成进程调度程序!

我宁愿将该工作卸载给 Firefox 或操作系统。

虽然我可以为我处理的每个页面生成一个新窗口,这样扩展程序只能在单个页面上工作,但我宁愿使用标签。

虽然我已经开始编写 GM 脚本以便免费获得“线程”,但我想知道是否有人有更好的主意?

比如从扩展中为每个创建的选项卡生成一个线程,以便每个线程都本地化并专用于每个选项卡?

最佳答案

抱歉,我之前的回答是错误的(因为我很久以前就为 Firefox 2 开发了扩展)。现在看起来可以在扩展中使用 Javascript 线程:

但是从线程访问 DOM 或 UI 是不安全的。

此外,您并不真的需要线程来访问多个选项卡。所有选项卡都等同于 Firefox 扩展。

关于javascript - Firefox 扩展的线程行为可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/609573/

相关文章:

javascript - 是否可以轻松地将 jquery/javascript 鼠标悬停延迟添加到仅 css 下拉菜单?

javascript - 为什么游戏计时为 0、5、4、3、2、1,而不是 5、4、3、2、1 秒?

Python - 线程同时打印弄乱了文本输出

Java:如何使用 Thread.join

python - WebDriverException : Message: invalid argument: can't kill an exited process with GeckoDriver, RaspberryPi3 上的 Selenium 和 Python

html - Firebug 无法加载给定的 url

javascript - 获取 TinyMCE 打印事件

javascript - Firebase 函数 - 无法读取所有子值

PHP/MySQL 并发 - 写依赖于读 - 临界区

tomcat - 浏览器 session 超时