我正在制作在 Firefox 插件上运行的顺序和周期性链接开启程序。
我用PYQT实现了这个想法。我制作了一个无限循环线程和 URL 队列。
线程无限检查队列是否为空,如果队列中有元素,则每个元素依次发出,周期为 5 秒。
让我展示简化的代码:
if __name__ == '__main__':
que = Queue()
thread1 = threading.Thread( target=pop, args=(que, ) )
thread1.daemon = True
thread1.start()
def pop(q):
while True:
toOpenURL = q.get()
if toOpenURL:
webbrowser.get("firefox").open(toOpenURL)
time.sleep(5)
def onClick(URL):
que.put( someDownLinkURL )
我在后台脚本中尝试了工人,工人似乎成功了,但据我所知,工人不工作。
(Worker 对象显示在控制台,但 console.log 函数在 worker.js 中不起作用)
有没有办法只在 background-script.js 中制作 anytime-IN 和 periodic-OUT 队列?
我尝试在 browser.pageAction.onClicked.addlistener 中添加调用 async-await 函数,但是当 onClicked 事件调用 addlistener 时,每个函数都被独立调用(并创建新的)