如何在 chrome 扩展中显示弹出窗口?

use*_*557 2 popupwindow google-chrome-extension

我需要在 chrome 扩展中显示一个弹出窗口。目前,当单击扩展图标时,弹出窗口显示在新窗口中。

我需要的是,当我单击扩展程序时,应该会在扩展程序图标下方看到一个弹出窗口。就像这样(请检查此链接中的弹出窗口)。

我的弹出窗口(userinfo.html)要求使用用户名和密码登录。当用户输入用户名和密码并登录时,弹出窗口应该关闭,当用户再次点击扩展图标时,它应该导航到一个网站。我怎样才能做到这一点?这是我的 background.js

chrome.browserAction.onClicked.addListener(function(tab) {
 if(!localStorage.username){
   chrome.browserAction.setPopup({
    popup: "userinfo.html"
   });
 }
 else
   //navigate to website
});
Run Code Online (Sandbox Code Playgroud)

通过这种方式,我显示了我的弹出窗口。当用户在安装后第一次单击该图标时,会出现弹出窗口。否则,它会导航到一个网站。现在我的问题是,当我只在图标上单击两次时,就会出现弹出窗口。第二个问题是,在我输入用户名和密码并单击登录后,弹出窗口关闭,这很好。当我再次单击图标时,它实际上应该导航到该网站,但在我的代码中它再次显示弹出。当我重新加载扩展程序时,它可以正常工作。为什么会这样?请帮我。有一个名为 userinfo.html 的文件,它应该显示为一个弹出窗口。我怎样才能做到这一点?请帮我。

zam*_*rey 5

在浏览器操作中,您应该包含 default_popup 值,该值指向要呈现为弹出窗口的 HTML 文件。在您的情况下,它是 userinfo.html。

"browser_action": 
     {
   "default_icon": "icon.png",
   "default_popup": "popup.html"
    }
Run Code Online (Sandbox Code Playgroud)

更多信息:https : //developer.chrome.com/docs/extensions/reference/browserAction/