Joe*_*Joe 37 javascript persistence tiddlywiki
我很确定答案是否定的,因此google gear,adobe AIR等.
如果我是对的,那么http://tiddlywiki.com如何运作?它是持久的,用javascript编写.它也只是一个没有外部(服务器端)依赖项的HTML文件.WTF?在哪里/如何存储其状态?
Zr4*_*r40 46
Tiddlywiki有几种保存数据的方法,具体取决于使用的浏览器.正如你在源头中看到的那样.
ebi*_*del 36
HTML5的File [ 1 ],FileWriter [ 2 ]和FileSystem [ 3 ] API可在Google Chrome的最新开发者频道中找到.FileSystem API允许您读取/写入浏览器知道的空间内的沙箱文件系统.例如,您不能在用户的本地FS上打开"我的图片"文件夹并对其进行读/写.这是在起作用的东西,但它暂时还没有准备好.写文件的示例:
window.requestFileSystem(
TEMPORARY, // persistent vs. temporary storage
1024 * 1024, // 1MB. Size (bytes) of needed space
initFs, // success callback
opt_errorHandler // opt. error callback, denial of access
);
function initFs(fs) {
fs.root.getFile('logFile.txt', {create: true}, function(fileEntry) {
fileEntry.createWriter(function(writer) { // FileWriter
writer.onwrite = function(e) {
console.log('Write completed.');
};
writer.onerror = function(e) {
console.log('Write failed: ' + e.toString());
};
var bb = new BlobBuilder();
bb.append('Lorem ipsum');
writer.write(bb.getBlob('text/plain'));
}, errorHandler);
}
}
Run Code Online (Sandbox Code Playgroud)
查看此HTML5存储幻灯片以获取更多代码段.
Ric*_*haw 12
它使用像这样的java文件引用:
drivers.tiddlySaver = {
name: "tiddlySaver",
deferredInit: function() {
if(!document.applets["TiddlySaver"] && !$.browser.mozilla && !$.browser.msie && document.location.toString().substr(0,5) == "file:") {
$(document.body).append("<applet style='position:absolute;left:-1px' name='TiddlySaver' code='TiddlySaver.class' archive='TiddlySaver.jar' width='1'height='1'></applet>");
}
},
isAvailable: function() {
return !!document.applets["TiddlySaver"];
},
loadFile: function(filePath) {
var r;
try {
if(document.applets["TiddlySaver"]) {
r = document.applets["TiddlySaver"].loadFile(javaUrlToFilename(filePath),"UTF-8");
return (r === undefined || r === null) ? null : String(r);
}
} catch(ex) {
}
return null;
},
saveFile: function(filePath,content) {
try {
if(document.applets["TiddlySaver"])
return document.applets["TiddlySaver"].saveFile(javaUrlToFilename(filePath),"UTF-8",content);
} catch(ex) {
}
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45605 次 |
| 最近记录: |