在内容脚本中打开弹出窗口(Chrome扩展)



我有一个js文件,应该打开Chrome扩展的弹出窗口,所以当用户用jquery点击某个输入元素时,我如何打开弹出窗口。

js:

$(document).ready(function(){
$("input").focus(function(){ 
//open popup
});

});

如果您真的想自动打开一个"弹出";,你应该把铬的";扩展弹出菜单";只是一个";扩展窗口";看起来像是弹出窗口。

例如(假设Manifest v3(:

manifest.json中,不要指定弹出窗口。

"manifest_version": 3,
"background": {
"service_worker": "background.js"
},
"action": {
"default_icon": {
"128": "icon.png"
}
}

然后在background.js中,当用户点击该弹出窗口时,请记住,在Manifest v3中,后台页面只是事件页面,因此所有逻辑都应该像在那一刻运行闭包一样运行:

chrome.action.onClicked.addListener(() => {
chrome.windows.create({
focused: true,
width: 400,
height: 600,
type: 'popup',
url: 'popup.html',
top: 0,
left: 0
},
() => {})
})

通过一些数学运算,您可以通过调用window.screen将弹出窗口定位在您想要的区域

此外,如果你只想要该弹出窗口的一个实例,你可以查询所有打开的扩展窗口,看看该弹出窗口是否打开。

最新更新