使背景页在Google Chrome扩展中可见

46scxncf  于 2022-12-06  发布在  Go
关注(0)|答案(3)|浏览(164)

我的Google Chrome扩展中有一个background-page,这个页面自然是不可见的。有没有办法让这个隐藏的页面可见,比如说在点击浏览器操作图标时弹出?然后再次点击隐藏它。

smdnsysy

smdnsysy1#

可以使用chrome.tabs.create方法显示背景页,该方法需要tabs permission。例如,如果背景页名为background.html,则可以使用以下代码:

chrome.tabs.create({url: chrome.extension.getURL('background.html')});

另请参阅:

cbeh67ev

cbeh67ev2#

您可以在browserAction弹出窗口中打开backround_page。但是它将是background_page的一个新示例。一个是打开时的弹出窗口,另一个是在后台长期隐藏的。

eivgtgni

eivgtgni3#

在扩展的弹出页面中,添加一个JS,使用chrome.runtime.getBackgroundPage(回调),给予背景页面的<html>元素一个id,使用window.getElementById("myBackgroundPageHTMLElementId")
例如,回调可能如下所示:

document.getElementById("myPopupHTMLElementId").outerHTML = backgroundWindow.getElementById("myBackgroundPageHTMLElementId").outerHTML

在这个JS脚本完成后,弹出页面的HTML元素将被背景页面完全替换(直到你重新加载它)!这意味着所有的属性,甚至HTML元素上的属性都被设置为背景页面的版本。
希望这对你有帮助!

相关问题