Chrome扩展,可以在浏览器关闭之前保持状态

Chrome Extension that can persist state until browser is closed

本文关键字:状态 浏览器 扩展 Chrome      更新时间:2023-09-26

开发一个可以播放音乐的chrome扩展。问题是chrome扩展在点击后开始播放,但一旦我们离开或最小化浏览器或点击其他地方,扩展就会消失。我试过背景页,但运气不太好。

有没有其他方法可以开发一个chrome扩展,一旦在浏览器上启动,它就会一直持续工作,直到浏览器关闭或单击该扩展上的关闭按钮。

目前没有这种方法,除非您为扩展创建了一个实际的弹出窗口,或者您希望用户始终处于开发人员模式(不太可能)。来源:https://stackoverflow.com/a/30570093/6614294

chrome文档说明:

否,当用户将注意力集中在弹出窗口之外的浏览器部分时,弹出窗口会自动关闭用户点击离开后,无法保持弹出窗口打开

(来源)

不,目前还没有办法做到这一点,一个很长的解决办法,比如创建一个实际的弹出窗口,确实存在。无论如何,正如您之前应该研究过的那样,这在扩展FAQ中明确说明了。这个问题已经出现过多次,比如这里的

使用Manifest脚本属性将音乐注入网页

清单文件示例

{
  "manifest_version": 2,
  "name": "My Cool Extension",
  "version": "0.1",
}
"content_scripts": [{
    "matches": [
         "<all_urls>"
    ],
    "js": ["script.js"]
}]

script.js示例

//script.js
var audio = document.appendChild(document.createElement("audio"));
audio.setAttribute("src","song.mp3");
audio.setAttribute("autoplay","true");
//Set attributes -^

带有jQuery的script.js示例

$(function(){
    var audio = new Audio();
    audio.autoplay = true;
    audio.src = "song.mp3";
    $("body").append(audio);
});

来源:

  1. Robots Thoughtbot制作Chrome扩展教程
  2. 构建Chrome扩展-使用内容脚本在页面中注入代码(SO问题)

最后,如果我的JS可能不正确,我深表歉意,如果有任何错误,请这样说,因为我有点缺乏经验。

相关文章: