Chrome扩展,可以在浏览器关闭之前保持状态
Chrome Extension that can persist state until browser is closed
开发一个可以播放音乐的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);
});
来源:
- Robots Thoughtbot制作Chrome扩展教程
- 构建Chrome扩展-使用内容脚本在页面中注入代码(SO问题)
最后,如果我的JS可能不正确,我深表歉意,如果有任何错误,请这样说,因为我有点缺乏经验。
相关文章:
- 如何在浏览器重新加载时保存位置哈希状态
- ReactJS:使用浏览器按钮导航时保存状态
- 在浏览器刷新时保存XHR渲染状态
- 如何使用JavaScriptExecutor来获取出现在浏览器上的文本's状态栏
- 火狐浏览器不会在前进时触发流行状态事件
- 检查网络驱动程序是否浏览器仍处于打开状态
- 如何获取浏览器's”;背面“;按钮以清除d3.js可视化的先前状态
- 如何在浏览器页面切换到我的网站选项卡时创建事件,如gmail中的聊天框状态更改
- AngularJs:UI路由器浏览器刷新,移动到第一个子状态
- 如何通过在javascript中单击浏览器的后退按钮将页面恢复到以前的状态
- 如何在Github电子原子中禁用或使浏览器窗口处于非活动状态
- 浏览器状态栏:隐藏对特定网站的请求地址
- 检测浏览器选项卡是否处于活动状态或用户是否已切换
- 如何防止浏览器将状态推送到历史记录中
- 包含 ajax 内容的页面不会记住浏览器后退按钮后的状态
- 禁用浏览器后退按钮,但在我的 asp.net 应用程序中保持启用状态
- AngularJS添加到浏览器历史记录中,无需重新加载页面,也没有HTML5推送状态
- 如何检查浏览器的“mywindow”选项卡在 asp.net 4.0中是否处于活动状态
- 当用户单击浏览器后退按钮时,无法在 Angular js 中获取以前的状态数据
- 如何使用浏览器历史记录状态在我的单页 JavaScript 应用程序中加载 URL