Chrome浏览器关闭后可以保持状态的Chrome扩展程序

时间:2016-07-26 06:01:57

标签: javascript html5 google-chrome google-chrome-extension

开发可播放音乐的Chrome扩展程序。点击开始播放时问题是Chrome扩展,但是一旦我们离开或最小化浏览器或点击其他地方,扩展就会消失。我尝试了背景页面但没有太多运气。

有没有其他方法可以开发Chrome扩展程序,一旦启动,浏览器就会继续工作,直到浏览器关闭或单击该扩展程序上的关闭按钮为止。

2 个答案:

答案 0 :(得分:0)

除非您为扩展程序创建实际弹出窗口,否则目前无法执行此操作,或者您希望用户始终处于开发人员模式(不太可能)。资料来源:https://stackoverflow.com/a/30570093/6614294

chrome文档确实声明:

  

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

Source

答案 1 :(得分:0)

不,目前还没有办法做到这一点,如创建一个实际的弹出窗口,这样做是否存在。无论如何,这在扩展常见问题中明确说明,因为您之前应该进行研究。此问题已多次出现,例如here

使用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 -^

script.js jQuery的例子

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

来源:

  1. Robots Thoughtbot tutorial on making Chrome extension
  2. Building a Chrome Extension - Inject code in a page using a Content script (SO Question)
  3. 最后,如果我的JS可能不正确,我很抱歉,如果有任何错误,请说出来,因为我有点缺乏经验。