tbo*_*nst 33 javascript html5 android geolocation ios
我有兴趣创建一个基于HTML5地理位置的网络应用程序,当手机屏幕关闭时,该应用程序仍然可以运行(例如,跟踪手机放在口袋里时的运行距离).
有没有办法让应用程序继续运行,但屏幕关闭,或者在使用其他应用程序时让应用程序在后台运行?至少在某些流行的移动设备上是否可行(特别是较新的iOS和Android设备?)
moo*_*oom 23
我的音乐应用是HTML5,还需要在后台运行.对此的支持因手机浏览器而异.
正如你所看到它的命中或错过.有一半时间我最终试图将手机放在我的口袋里,试图让屏幕保持开启,直到我不小心按下它 - 完全糟透了.我渴望用户能够更好地控制在后台运行HTML5应用程序.如果我不得不猜测我会说,对它的普遍支持是非常遥远的,如果它甚至有牵引力.即使我几乎是积极的,苹果也永远不会批准它.与此同时,我仍然充满希望并继续测试最新的移动浏览器.因为如果真的发生它会很棒.:-)
我还应该指出,根据我的经验,对于几乎所有上述组合,使用HTML5同时运行javascript,提取网络数据和播放音乐通常会将手机变成烤箱并快速杀死电池.UGG.
此外,如果您使用的是jQuery Mobile(这非常棒),您将在不同的浏览器上看到不同的触摸处理.例如,Firefox touch效果很好,Dolphin非常糟糕,需要精确的触摸和保持 - 释放才能正确使用.这不是HTML5的直接错误,而是我正在处理的另一个问题.
以下是另一位开发人员对移动HTML5 的有趣想法.
更新:我刚刚(2013年5月22日)在我的三星Galaxy S3上下载了Opera,到目前为止它拥有最好的HTML5支持.对于我的应用程序,它继续在后台运行javascript,无论屏幕是关闭,还是Opera被推到后台,至少有几首歌曲.
您可以使用服务工作者:
https://developers.google.com/web/fundamentals/primers/service-workers/
Service Worker 是浏览器在后台运行的脚本,与网页分开,为不需要网页或用户交互的功能打开大门。今天,它们已经包含推送通知和后台同步等功能。将来,Service Worker 可能会支持其他功能,例如定期同步或地理围栏。
准确地说,应用程序可以按如下方式注册 Service Worker:
if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register('/sw.js').then(function(registration) {
// Registration was successful
console.log('ServiceWorker registration successful with scope: ', registration.scope);
}, function(err) {
// registration failed :(
console.log('ServiceWorker registration failed: ', err);
});
});
}
Run Code Online (Sandbox Code Playgroud)
service worker注册成功后,sw.js中实现的任何应用逻辑都会在后台执行;即使应用程序选项卡被禁用。
归档时间: |
|
查看次数: |
11312 次 |
最近记录: |