我正在构建一个Chrome扩展,它有一个带有搜索表单的popup.html。与Tra速尔或Kayak一样,表单包括复选框,这样用户就可以选择要查询的站点。
在提交时,popup.js将根据所选复选框启动多个新选项卡。在每个新选项卡的tabs.create()回调中,我使用executeScript来:- (A)将用户的查询注入每个新页面的搜索表单,和- (B)在这些页面上提交搜索表单。
当选中一个复选框(即启动新选项卡)时,我的代码正在工作,但当同时创建多个新选项卡时,executeScript的运行似乎不一致。有时起作用,有时不行。
这让我相信,脚本执行的时间有点问题,但我不确定。
如果你知道发生了什么事,我很想听听你的建议。
另外,我希望有任何关于如何在将来调试这类问题的资源。
这是我在github上的密码。
非常感谢!
发布于 2016-09-21 21:25:20
当您打开多个选项卡时-您的popup.html失去焦点并关闭,因此在注入您的代码的tabs.create回调时不会执行。
尝试使用"active:false“选项创建选项卡,如下所示:
chrome.tabs.create({url: stringToObj[org], active:false} ...我觉得这会对你有帮助。
还有..。这是SeSac注入代码中的一个bug :如果弹出窗口中没有定义搜索类型,则阻止
input[value="undefined"]将找不到,因此“选中”属性将在“未定义”上被调用,这将停止注入脚本的执行。
https://stackoverflow.com/questions/39624899
复制相似问题