我有一个页面,其中包含网络状态的事件侦听器.当网络"离线"时,我想禁用任何跨域链接以进入离线模式.我试图使用.preventDefault(),但是当应用程序重新联机时,我需要重新启用链接.
事件听众
//check network status
if(!navigator.onLine) {
offlineLinks(); //Offline mode function
}
//add event listeners for network status
window.addEventListener('offline', function(e) {
offlineLinks(); //Offline mode function
}, false);
window.addEventListener('online', function(e) {
//need to re-enable links/Online mode
}, false);
window.addEventListener('error', function(e) {
alert('Error fetching manifest: there is a good chance we are offline.');
offlineLinks(); //Offline mode function
});
Run Code Online (Sandbox Code Playgroud)
"去链接"功能
function offlineLinks() {
$('a[href^="http"]').click(function(e) {
e.preventDefault();
$('#offline-dialog').dialog({
modal: true,
buttons: {
Ok: function() {
$(this).dialog('close');
}
}
});
});
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种可扩展的解决方案,如果页面上有大量链接,则不会导致延迟.是否有一个简单的解决方案来扭转 …
当我尝试使用带有EmberFire的offline-firebase时,我收到了这些错误(并且没有任何内容保存到firebase):

adapters/application.js
export default DS.FirebaseAdapter.extend({
firebase: new OfflineFirebase('https://woot.firebaseio.com/quiz').on('value', function(snapshot){
console.log(snapshot);
}, undefined, undefined, true)
});
Run Code Online (Sandbox Code Playgroud)
app.js
OfflineFirebase.restore();
Run Code Online (Sandbox Code Playgroud)
index.html
<script src="cordova.js"></script>
<script src="js/firebase-debug.js"></script>
<script src="js/OfflineFirebase.js"></script>
<script src="assets/vendor.js"></script>
<script src="assets/woot-prototype.js"></script>
Run Code Online (Sandbox Code Playgroud)
controllers/index.js
export default Ember.ArrayController.extend({
init: function() {
this.set('user', Ember.Object.create());
},
actions: {
getUser: function(){
var newUser = this.store.createRecord('user', {
email: this.get('user.email'),
name: this.get('user.name')
});
console.log(newUser);
newUser.save();
}
}
});
Run Code Online (Sandbox Code Playgroud)
这是离线firebase问题还是我做错了什么?:) https://github.com/yeldarby/offline-firebase/issues/6
我们希望在 webview 中离线(没有互联网连接)显示 html 页面及其内容,如文本、图像等。我们只能显示文本。对于图像,我们将图像 url 中的图像存储在内部存储(sd 卡)上,并将该图像 url(服务器 url)替换为图像内部存储(sd 卡)路径。
但是,这些图像没有显示在 webview 中。
例如,下面是html中的img标签..
<img alt="img" class="center_top_img" src="http://test.com/uploads/section/images/523.jpg" />
Run Code Online (Sandbox Code Playgroud)
我们正在用图像内部存储(sd 卡)路径替换上面的图像 url(服务器 url),如
<img alt="img" class="center_top_img" src=\"file:///data/data/com.app.test/files/523.jpg\" />
Run Code Online (Sandbox Code Playgroud) 我为脱机(例如)单页HTML应用程序的IndexDB并置而感到困惑,因为该文档似乎表明浏览器可以随时破坏本地数据。“此外,请注意浏览器可以清除数据库,例如在以下情况下:”
似乎可以选择以下选项:a)仅设计只读的脱机应用程序,或b)偶尔接受您的脱机应用程序的某些用户在浏览器有意删除时会很不幸并失去所有工作您的IndexedDB数据。
我的问题是:是否在任何地方都对此问题进行了认真的讨论,或者(一个更好的方案,但希望太多)一个严肃的可读写脱机应用程序来处理该问题?我对该主题的搜索毫无结果。例如,这个完整的离线待办事项应用示例设法解决了这个问题-谁想将甚至简单的待办事项数据存储在浏览器随时可能消失且无法轻松备份的存储中?
我需要为已经使用apache,mysql和php开发的Web应用程序开发离线应用程序。我刚刚发现,我们可以开发具有Sofa和Pouch DB的离线应用程序。
但是我认为我需要自动将数据从mysql自动同步到沙发上的db(以及沙发到mysql上)。据我了解,我可以编写php代码以从mysql读取数据,并将数据放置到bed db(以及使用ouchdb到mysql)。但是我不确定如何使沙发数据库和mysql数据保持最新状态。(我的意思是在一端发生更改时自动同步数据)。
有人可以向我建议该工具或其他方法以找出自动同步数据的方法吗?
我目前正在使用带有ActiveScaffold的Ruby On Rails构建一个Web应用程序.我想知道是否有任何插件/库可以使我的Rails应用程序脱机工作,例如用户可以浏览一些数据并在用户断开连接时进行更改,用户再次联机后数据将简单地同步.
上下文
移动应用程序可以在其自己的脱机数据库中添加/编辑/删除客户.Web应用程序还可以在Web服务器上的master数据库中添加/编辑/删除客户.移动应用程序将每X小时尝试将其数据库与主数据库同步,前提是它具有可用的Internet连接.
案件
题
系统应该如何处理两个版本的数据?Mobile应用程序的版本早于Web应用程序的版本,但是使用来自Web应用程序的数据覆盖移动应用程序编辑的所有内容似乎不是非常用户友好.
我正在寻找有关如何解决数据的已知版本控制/同步问题的信息/最佳实践.我对可以提供帮助的技术不感兴趣.我想在盲目地跳进有前途的版本控制工具之前先了解这些解决方案.
我们正在尝试开发一种移动网络应用,它将提供离线功能,不仅仅是阅读,还包括创建内容.
Gears支持三个重要方面: - 本地服务器,因此我们可以拥有缓存的静态内容,如html,css,js等 - 本地数据库,这样我们就可以在本地存储数据以供离线访问,并在离线时将新内容存储在其中 - workerpool,用于将数据同步回服务器的后台进程
通过齿轮页面和其他一些文章的外观,齿轮被放弃,有利于html 5,这是可以理解的.
但是,在这个阶段存在两个问题:
做一个人今天做什么?(例如在明年内)Cheers Rok
我被困在我的离线 Android 应用程序之一中,在那里我需要离线语音识别和语音到文本 API。
如果有人从事过离线语音到文本和语音识别,请分享您的观点和意见。
我有一个ec2 VM,它是我从VMWare实例导出的CentOS机器.与此VM关联的安全组是默认安全组,此默认安全组仅启用了入站设置,我无法编辑该组的出站设置(在ec2仪表板中显示为已禁用),不确定原因.
我想要做的是阻止来自机器内的所有出站呼叫,我有一个应用程序,我正在尝试模拟在离线环境中运行它,它可以接受来自VM外部的呼叫,但不能在VM外部进行任何呼叫.
有没有在ec2 VM中实现这一点?我不确定此时我能提供什么信息,以便我能得到最好的帮助,所以请向我询问任何其他信息.
iptables目前在VM中停止,如果我启动它将阻止对VM的所有入站调用,我将无法点击该应用程序(它是Web应用程序).
这是iptables -L的输出
[root@ip-10-154-146-78 app_module]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy …Run Code Online (Sandbox Code Playgroud) 我正试图在用户离线时提醒他们,并显示一条简单的消息.我正在使用Offline.js作为库(Offline.js网站).
我想写JS而不是使用Eager自动安装它.
这是我写的,但似乎没有用.有人可以帮我详细说明吗?
我在图书馆网站上找不到包含代码的示例.
Offline.options = {checkOnLoad: true, checks: {image: {url: 'http://www.vitaminedz.com/photos/49/02-49565-front-de-mer-a-oran.jpg'}, active: 'image'}}
Offline.check();
Offline.on('up', alert('up'));
Offline.on('down',alert('down'));
Run Code Online (Sandbox Code Playgroud)
我想创建添加我的网站的离线版本,以便它可以被使用时不一定连接的人使用(我正在考虑位于地下室并且不提供Wi-Fi连接的健身房) .
我做了一些研究,但我找不到任何具体解释如何做我需要的东西.我开始认为这是不可能的......
如果有人可以确认这是可能的,并且可以想到以下几点的教程链接,我将非常感激.
它应该在Android和ios上都可以工作而不会被改变(我猜想web.xml中的必需条目,或任何解决方案)
它应该创建一个可点击的图标,以便它可以像本机应用程序一样启动(不是浏览器中的链接或按钮,例如Opera的快速拨号).
可能是一个简短的代码示例.我只是在考虑一些可以作为起点的东西.单击按钮时的警告消息就足够了......
作为个人偏好,我倾向于尽可能远离任何框架,但如果这是唯一的解决方案,我愿意放弃.
谢谢.
我正在尝试创建基于地图的 Web 应用程序,用户可以在提供的地图上设置地标。地图的边界仅限于一个小城市,并且客户端计算机始终处于离线状态,根本无法访问互联网。经过一整天的谷歌搜索,我发现OpenLayers和OpenStreetMap 的组合是一个不错的选择。
以下示例由OpenLayers网站提供:
<!doctype html>
<html lang="en">
<head>
<link rel="stylesheet" href="http://openlayers.org/en/v3.0.0/css/ol.css" type="text/css">
<style>
.map {
height: 400px;
width: 100%;
}
</style>
<script src="http://openlayers.org/en/v3.0.0/build/ol.js" type="text/javascript"></script>
<title>OpenLayers 3 example</title>
</head>
<body>
<h2>My Map</h2>
<div id="map" class="map"></div>
<script type="text/javascript">
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
})
],
view: new ol.View({
center: ol.proj.transform([37.41, 8.82], 'EPSG:4326', 'EPSG:3857'),
zoom: 4
})
});
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这工作正常,但需要一台连接互联网的计算机。几个谷歌搜索小时后,我发现了另一个网站,提供离线OpenStreetMap的 …
offlineapps ×13
html5 ×4
javascript ×4
android ×2
amazon-ec2 ×1
asp.net ×1
centos ×1
couchdb ×1
ember.js ×1
emberfire ×1
firebase ×1
google-gears ×1
html ×1
image ×1
indexeddb ×1
iptables ×1
jquery ×1
mysql ×1
offline ×1
offline-mode ×1
openlayers ×1
php ×1
sync ×1
webview ×1