首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chrome扩展--同时在多个新选项卡中运行executeScript

Chrome扩展--同时在多个新选项卡中运行executeScript
EN

Stack Overflow用户
提问于 2016-09-21 19:20:24
回答 1查看 1K关注 0票数 1

我正在构建一个Chrome扩展,它有一个带有搜索表单的popup.html。与Tra速尔或Kayak一样,表单包括复选框,这样用户就可以选择要查询的站点。

在提交时,popup.js将根据所选复选框启动多个新选项卡。在每个新选项卡的tabs.create()回调中,我使用executeScript来:- (A)将用户的查询注入每个新页面的搜索表单,和- (B)在这些页面上提交搜索表单。

当选中一个复选框(即启动新选项卡)时,我的代码正在工作,但当同时创建多个新选项卡时,executeScript的运行似乎不一致。有时起作用,有时不行。

这让我相信,脚本执行的时间有点问题,但我不确定。

如果你知道发生了什么事,我很想听听你的建议。

另外,我希望有任何关于如何在将来调试这类问题的资源。

这是我在github上的密码。

非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-21 21:25:20

当您打开多个选项卡时-您的popup.html失去焦点并关闭,因此在注入您的代码的tabs.create回调时不会执行。

尝试使用"active:false“选项创建选项卡,如下所示:

代码语言:javascript
复制
chrome.tabs.create({url: stringToObj[org], active:false} ...

我觉得这会对你有帮助。

还有..。这是SeSac注入代码中的一个bug :如果弹出窗口中没有定义搜索类型,则阻止

代码语言:javascript
复制
input[value="undefined"]

将找不到,因此“选中”属性将在“未定义”上被调用,这将停止注入脚本的执行。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39624899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档