当用户打开新选项卡(AngularJS)时暂停应用程序
Pause an application when the user opens a new tab (AngularJS)
我有一个内置在AngularJS中的音乐应用程序。我的应用程序正在运行。用户可以在选项卡上播放、暂停、上一个、下一个。但我想让它变得更好
当用户已经打开标签并播放音乐时。当他打开一个新标签并播放另一首歌曲时,我希望第一个标签中的歌曲暂停
如何在Angular中做到这一点
我在stackoverflow上研究过这个问题,但据我所知,我没有发现任何有用的东西,所以我们很感激任何帮助
您可以使用html 5本地存储来保存当前歌曲的值,并从不同的选项卡中检索该值。新歌开始时,您需要覆盖当前歌曲。然后,如果歌曲过时,您需要轮询此值以暂停歌曲。查看以下库,以便轻松使用angular中的本地存储:https://github.com/grevory/angular-local-storage
https://github.com/gsklee/ngStorage
存储当前歌曲和标签计数的Cookie应该会让它为您工作。我认为您不应该专门针对这种需求选择localStorage,因为它可以通过cookie轻松处理。
简而言之,一个用于检查cookie值的setTimeInterval函数(当应用程序启动时增加,当选项卡关闭时减少…分别使用onload和onUnload事件(
如果以给定间隔运行的函数发现cookie值为2,则暂停该选项卡中的音乐并递减cookie,使其不会在新选项卡中停止
您可以使用此代码,希望它很清楚:
window.onblur = function() {
localStorage.setItem('song_123_pause_time', 1234);
console.log("pause");
};
window.onfocus = function() {
var seek = localStorage.getItem("song_123_pause_time");
console.log("play again");
};
相关文章:
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- 我想在AngularJS应用程序中创建一个输入数字框,用户不应该在该框上键入十进制数字.(一个整数输入框)
- 如何在AngularJS应用程序的主体上动态设置溢出
- 如何使用Node.js/MongoDB在AngularJS应用程序中获取特定于目标的数据
- 仅客户端AngularJS应用程序
- 如何使用onDeviceReady设置AngularJS应用程序并初始化Cordova的功能
- 如何在angularjs应用程序中解析Drupal JSON数据
- 一个页面中有多个AngularJS应用程序
- Angularjs应用程序的多个实例
- 在AngularJS应用程序中加载JSON(加载谷歌电子表格)
- 如何将路径更改广播到 AngularJS 应用程序中的所有视图
- AngularJS应用程序中的CORS错误
- AngularJS应用程序:如何将.js文件包含到index.html中
- 无法模块化AngularJS应用程序
- 如何在angularjs应用程序中注销后,通过浏览器后退按钮禁止用户访问上一页
- 如何在Eclipse中运行和调试AngularJS应用程序
- 带有RequireJS的AngularJS应用程序在Safari和Firefox中给出了“使用严格”错误
- 动态加载AngularJS应用程序
- 是否可以将我网站上的普通javascript和css函数包含到我的angularjs应用程序中
- 使用AngularJS应用程序为移动设备(iOS、Android等)构建本地应用程序的最佳方式