我正在尝试构建一个将使用Open Street Maps中的开源地图的应用程序(尽管该概念应该适用于任何地图提供者).该应用程序将使用户能够在出发前沿路线指定多个航路点.
因为我没有手机的数据计划(并且因为在乡下漫步很少给你一个良好的连接),我希望能够在出发前为路标和/或路线预加载相关的地图图块这样可以在没有数据连接的情况下继续使用地图.
我最初的想法是从地图提供程序下载所需的切片并将它们存储在独立的存储中.但是,使用TileSource该类的Bing Maps控件实现依赖于返回一个可以从中下载切片的绝对URI,这显然不适用于存储在独立存储中的数据.
问题已经被提出:Windows Phone 7 Map Control在离线模式下使用自定义图层,但没有得到解答,我想知道从那以后是否有人解决了这个问题.
我需要一些帮助,如何使用Javascript或jQuery或任何库(如果可用)检查互联网连接.因为我正在开发一个离线应用程序,我希望在用户离线时显示一个版本,如果用户在线则显示另一个版本.
目前我正在使用此代码:
if (navigator.onLine) {
alert('online');
} else {
alert('offline');
}Run Code Online (Sandbox Code Playgroud)
但这种方法检测起来很慢.有时它只是连接到没有互联网的网络,需要5到10秒才能发出警报false(没有互联网).
我看了一下Offline.js库,但我不确定这个库在我的情况下是否有用.我不知道如何使用它
我正在开发一个供离线使用的Web应用程序,因此我需要使用应用程序缓存功能.
一切都在Chrome(15.0.874.106)上运行良好,但在Firefox(7.0.1)和Opera(11.52)上不起作用.
这是我的缓存清单文件cache.manifest.php(我已将其减少到最低限度):
<?php
header("Cache-Control: max-age=0, no-cache, no-store, must-revalidate");
header("Pragma: no-cache");
header("Expires: Wed, 11 Jan 1984 05:00:00 GMT");
header('Content-type: text/cache-manifest');
?>CACHE MANIFEST
CACHE:
/app/common/css/reset.css
/favicon.ico
Run Code Online (Sandbox Code Playgroud)
这是"主要"HTML文档的前4行:
<!DOCTYPE html>
<html manifest="/app/mobile/cache.manifest.php">
<head>
<title>MyApp Mobile</title>
Run Code Online (Sandbox Code Playgroud)
当我尝试将缓存清单(http://www.myapp.com/app/mobile/cache.manifest.php)加载到浏览器中时,文件显示正确,但是当我尝试离线加载页面时,我得到了"无法连接"错误页面.再次,这恰好发生在Firefox和Opera上.
Firebug说" 0 items in offline cache"并且我没有找到检查DragonFly上的应用程序缓存的方法.
我生气了,我不知道如何在Firefox和Opera上有效地调试问题.请帮忙.
谢谢,丹
我终于开始学习Java了,我正在寻找一些可以下载和离线阅读的Java文档.像Sun的东西,但拉链或PDF或CHM.
我正在使用Eclipse,因此可以很好地集成Eclipse.它似乎已经有一些我想要的东西(javadoc的东西),但我没有看到如何搜索它,我没有看到语言参考.
我正在使用HTML5中的新缓存清单功能来缓存我的Web应用程序,以便它可以脱机工作.当页面加载以下html元素时,内容将自动缓存:
<html lang="en" manifest="offline.manifest">
Run Code Online (Sandbox Code Playgroud)
这很好用.但是,我想让我的用户可以选择是否要将内容缓存离线.所以,这是我的问题:
有没有办法触发应用程序在运行时使用JavaScript缓存,而不是在加载页面时自动完成.
例如,像这样的东西(使用jquery):
---------------- --------------的index.html
<head>
<meta charset="utf-8" />
<script src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="Main.js"></script>
</head>
<body>
<button id="cacheButton">Cache Page</button>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
--------- --------- Main.js
$(document).ready(
function()
{
$('#cacheButton').click(onCacheButtonClick);
}
)
function onCacheButtonClick(event)
{
console.log("Setting Offline Manifest");
$('#htmlRoot').attr("manifest","offline.manifest");
}
Run Code Online (Sandbox Code Playgroud)
------------- ------------- offline.manifest
CACHE MANIFEST
#version .85
#root
index.html
scripts/main.js
#jquery assets
http://code.jquery.com/jquery-1.4.4.min.js
Run Code Online (Sandbox Code Playgroud)
基本上,当单击按钮时,我动态设置html元素的manifest属性.这有效(在某种意义上,元素已设置),但它不会导致浏览器缓存页面.
有什么建议?
我希望能够在Android应用中实现这一点,我认为最新的Google Maps API版本可以实现,但我没有看到很多关于该主题的讨论.理想情况下,您可以下载/缓存特定区域的地图,以便以后离线使用.是否只能在不违反ToS的情况下通过Google Maps 5应用程序而不是API执行此操作?我知道OpenStreetMap和其他人允许这样做,但我相信谷歌地图仍然提供卓越的地图和最广泛的用途.
提前致谢.
我试图通过浏览器中的缓存(IndexedDB)制作离线地图.我理解这个概念是我在连接到互联网时首先下载并存储地图的图块.
然后我必须在逻辑上离线加载磁贴.
但是,我无法弄明白.
如何存储它们以及如何在逻辑上再次加载它们?我被困在这里 我正在使用 leaflet APIfor maps.如何实施?
我读过几个有类似问题的用户,但我找到的解决方案都没有解决我的问题.
我有几台运行Android 4.2.2的Nexus设备,它们都显示为脱机状态,当我插入它们时,它们都没有显示提示.
我已经尝试过:
我想给一个带有PostgreSQL数据库100%离线功能的Web应用程序.在理想情况下,数据库应该在每个用户的浏览器中完全复制,并在联机时进行同步.因此,可以使用相同的代码与脱机和在线数据库进行通信.我知道PouchDB和CouchDB可以实现这一点,但是还没有找到适用于PostgreSQL的解决方案.这是可能吗?
我想在应用程序中添加许可系统.例如:用户购买许可证1个月,并在该程序到期后(Kinda Anti-Virus风格?).
问题是应用程序应该在可能连接或未连接到互联网的系统中运行,那么如何防止日期时间变化?
将应用程序启动和关闭时间存储在加密文件中将不起作用,因为日期可以更改(每天8小时的程序正常运行时间,在理想情况下可以将许可证扩展到近300% - 更改应用程序关闭时间+ 1在启动计划之前的第二个).
另一个问题 - 有没有办法保护像http://en.wikipedia.org/wiki/Deep_Freeze_(software)这样的软件?(也许扫描司机?)
编辑:
我目前正在使用智能卡来存储许可信息,并将在关键功能上使用代码虚拟器(我知道在API调用上创建断点并检查传递的数据 - 不需要隐藏这些数据,只是为了确保事情如同计划)