单击“ Chrome扩展程序”浏览器操作按钮时不显示弹出窗口

斯里达·萨诺巴特(Sridhar Sarnobat)

我希望我的chrome扩展程序的行为能够使用户单击扩展程序按钮时发送一条消息,然后关闭弹出窗口。我什么都不想显示在弹出窗口中,理想情况下甚至不希望它首先出现在弹出窗口中。

一半时间,我的代码有效。另一半时间,即使在发送消息后,仍然留有很少的空白气泡。为什么会出现这种不确定性?有没有一种方法可以简单地在单击扩展按钮并绕过无意义的弹出窗口时发送消息?

这是我的popup.js:

chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {

        // Go immediately to background script.
        // This popup's thread of execution will get killed as soon as we move to another tab.
        chrome.extension.sendRequest({
                tab: tabs[0],
                message: "Button was clicked"
        });
        window.close();
});

包含在以下popup.html中:

<head>
<script src="popup.js"></script>
</head>
<body>
</body>

我的manifest.json(删除了不相关的字段)是:

{
  "name": "My Extension",
  "description": "This is my extension",
  "content_scripts": [
    {
      "matches": ["http://*/*", "https://*/*"],
      "js": ["content.js"]
    }
  ],
  "background": { "scripts": ["background.js"] },
  "browser_action": {
    "default_popup": "popup.html"
  },
  "permissions": [
        "http://*/*",
        "https://*/*",
        "tabs"
  ],
}
海原爱

您刚刚default_popup在中进行了声明manifest.json,这意味着一旦单击浏览器操作,popup.html就会显示。如果你不希望出现这种情况,只是删除该字段,听chrome.browserAction.onClickedbackground.js

manifest.json

{
  ...
  "browser_action": {},
  ...
}

background.js

chrome.browserAction.onClicked.addListener(function(tab) {
  chrome.runtime.sendMessage({tab: tab, message: "Button was clicked"});
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Chrome浏览器-单击“主页”中的SSRS报告管理器报告项的向下箭头时,不显示弹出菜单

来自分类Dev

单击按钮时启用/禁用引导程序弹出窗口

来自分类Dev

单击按钮后无法显示弹出窗口

来自分类Dev

单击按钮时不显示ajax弹出窗口

来自分类Dev

Chrome扩展程序:单击弹出窗口中的按钮时,将文本插入文本字段

来自分类Dev

用户单击浏览器操作并弹出窗口时如何执行操作(Chrome扩展程序)

来自分类Dev

选择第一次单击浏览器操作时将打开的弹出窗口

来自分类Dev

在浏览器中单击img时出现Chrome问题

来自分类Dev

Chrome扩展程序可通过单击浏览器操作来创建.html页面。

来自分类Dev

Chrome扩展程序注入javascript并单击浏览器操作上的角

来自分类Dev

在悬停而不是单击时显示弹出窗口

来自分类Dev

单击按钮时未显示弹出窗口

来自分类Dev

单击HTML中的按钮时如何显示弹出窗口

来自分类Dev

单击Chrome扩展程序的浏览器操作时,将文本复制到剪贴板

来自分类Dev

XAML ComboBox DataTemplate弹出窗口在单击时不显示

来自分类Dev

单击相应按钮时,在单个Web浏览器中显示几个html页面?

来自分类Dev

单击浏览器刷新按钮时的Ajax调用

来自分类Dev

单击浏览器滚动条关闭弹出窗口

来自分类Dev

单击按钮后无法显示弹出窗口

来自分类Dev

单击时显示弹出窗口

来自分类Dev

单击显示弹出窗口

来自分类Dev

Chrome扩展程序:单击浏览器操作后,仅对当前域名执行

来自分类Dev

单击按钮时不显示ajax弹出窗口

来自分类Dev

如何单击按钮打开浏览器?

来自分类Dev

单击“ Asp按钮”控件时显示Bootstrap模态弹出窗口

来自分类Dev

浏览器动作单选按钮单击

来自分类Dev

在悬停而不是单击时显示弹出窗口

来自分类Dev

用户单击浏览器后退按钮时提交表单

来自分类Dev

Chrome 扩展程序:如何通过单击 html 弹出窗口中的按钮在新选项卡中打开指定链接?

Related 相关文章

  1. 1

    使用Chrome浏览器-单击“主页”中的SSRS报告管理器报告项的向下箭头时,不显示弹出菜单

  2. 2

    单击按钮时启用/禁用引导程序弹出窗口

  3. 3

    单击按钮后无法显示弹出窗口

  4. 4

    单击按钮时不显示ajax弹出窗口

  5. 5

    Chrome扩展程序:单击弹出窗口中的按钮时,将文本插入文本字段

  6. 6

    用户单击浏览器操作并弹出窗口时如何执行操作(Chrome扩展程序)

  7. 7

    选择第一次单击浏览器操作时将打开的弹出窗口

  8. 8

    在浏览器中单击img时出现Chrome问题

  9. 9

    Chrome扩展程序可通过单击浏览器操作来创建.html页面。

  10. 10

    Chrome扩展程序注入javascript并单击浏览器操作上的角

  11. 11

    在悬停而不是单击时显示弹出窗口

  12. 12

    单击按钮时未显示弹出窗口

  13. 13

    单击HTML中的按钮时如何显示弹出窗口

  14. 14

    单击Chrome扩展程序的浏览器操作时,将文本复制到剪贴板

  15. 15

    XAML ComboBox DataTemplate弹出窗口在单击时不显示

  16. 16

    单击相应按钮时,在单个Web浏览器中显示几个html页面?

  17. 17

    单击浏览器刷新按钮时的Ajax调用

  18. 18

    单击浏览器滚动条关闭弹出窗口

  19. 19

    单击按钮后无法显示弹出窗口

  20. 20

    单击时显示弹出窗口

  21. 21

    单击显示弹出窗口

  22. 22

    Chrome扩展程序:单击浏览器操作后,仅对当前域名执行

  23. 23

    单击按钮时不显示ajax弹出窗口

  24. 24

    如何单击按钮打开浏览器?

  25. 25

    单击“ Asp按钮”控件时显示Bootstrap模态弹出窗口

  26. 26

    浏览器动作单选按钮单击

  27. 27

    在悬停而不是单击时显示弹出窗口

  28. 28

    用户单击浏览器后退按钮时提交表单

  29. 29

    Chrome 扩展程序:如何通过单击 html 弹出窗口中的按钮在新选项卡中打开指定链接?

热门标签

归档