分享一个jQuery的自动客户端本地保存插件Sisyphus.js

 

今天我们介绍一个新的插件 - Sisyphus.js,这个插件是由Alexander Kaupanin开发的一个类似Gmail客户端草稿保存的jQuery插件,帮助你的用户在客户端保存未写完的草稿。

我们需要解决什么样的问题呢?

但凡使用过互联网的用户,都会有如下的惨痛教训:

洋洋洒洒的写了一篇几百的文章,正准备保存发布的时候,发现浏览器崩溃了,或者是你刚准备评论一篇不错的文章,可正准备递交的时候,你PC死机了。又或是你正准备发布时,不小心按错了快捷键F5或者后退键?

是不是你也曾为以上情况抓狂过?对于本人来说,我至少遇到过10次以上,每一次我都后悔自己为什么不早些保存。当然我们可以使用一些浏览器的插件, 比如firefox的一些插件(例如,Lazarus)能够帮助你在本地保存表单上的数据。但是对于其它浏览器呢? 或者对于没有装插件的PC呢?

今天我们介绍的这款jQuery插件,绝对能让你以后避免遇到如此惨痛的经验。

自动保存的解决方案

通常使用的解决方式是按时自动保存表单内容到本地的文件中,完成后拷贝内容回表单输入项目中。

有的网站提供一个保存为草稿的按钮,但是这个并不非常方便,最方便的方式就类似Gmail提供一个定时自动保存机制。

使用Sisyphus.js

这里我们使用简单的方式来实现自动保存功能,数据将会保存到浏览器的local storage,然后直接从这里取出数据内容。

Javascript代码

引入jQuery类库,版本需要是1.2以上

调用Sisyphus,如下:

$('#GBin1form1. #GBin1form2').sisyphus();

或者你需要提供所有的表单自动保存机制:

$('Gbin1allform').sisyphus();

以上代码中,我们调用sisyphus方法来实现表单数据的自动保存。同时你可以自定义一些选项,如下:

customKeyPrefix

一个自定义的额外key用来保存表单内容数据

timeout

数据自动保存的间隔时间,按秒计算,如果设置为“0”,那么每一个字段更新都自动执行保存

onSave

本地保存操作后触发这个方法

onRestore

数据从本地存储读取后触发的方法,和onSaveCallback不一样,它作用于整个表单,而非某一个字段

onRelease

本地存储数据清空后调用的方法

我们可以使用如下代码自定义选项:

$('Gbin1allform').sisyphus({ customKeyPrefix: 'gb', timeout: 5, onSave: function() {}, onRestore: function() {}, onRelease: function() {} }}

你可以针对不同的表单设置不同的插件选项,并且能够随时修改插件对应的选项。

$('Gbin1allform1').sisyphus({ customKeyPrefix:'gbin1', timeout: 5, onSave:function() {}, onRestore: function() {}, onRelease: function() {} }}$('Gbin1allform2').sisyphus({ customKeyPrefix:'gbin1', timeout: 1, onSave: function() {}, onRestore: function() {}, onRelease: function() {} }}$.sisyphus().setOptions( {timeout:10} ); //设置全局选项 var gbin1 = $('#Gbin1allform1').sisyphus();gbin1.setOptions( {timeout: 15} ); //设置指定表单选项

插件信息

浏览器支持:

Chrome 4+,

Firefox 3.5+,

Opera 10.5+,

Safari 4+,

IE 8+,

Android 2.2,也应该可以在其它平台运行,需要你自己测试一下

使用要求:

jQuery1.2+

原文地址:http://www.gbin1.com/

时间: 2024-10-03 00:27:38

分享一个jQuery的自动客户端本地保存插件Sisyphus.js的相关文章

分享一个我自己写的ToolTip提示插件(附源码)_jquery

继续分享一个我自己写的 ToolTip提示插件,希望大家支持我,给我点评论,哪怕骂我的也好啊,让我知道有人在关注我"小豆" 嘿嘿.废话不多说上代码! 复制代码 代码如下: $.fn.ToolTip = function (option) { var defaults = { direction: "down", star: function () { }, from: $(this), url: '../images/arrow.png' }; //方法内基础变量

分享一个jQuery的时间轴插件:TimergliderJS

在线演示1  在线演示2 Timeglider JS是一个由javascript支持缩放,数据驱动的时间轴组件.非常适合显示项目历史,项目计划及其其它需要显示历史的项目. 时间轴可以通过右边拖放垂直滑动器来缩放界面:向上缩小,向下放大.同时也支持使用滚轮来控制缩放.通过鼠标拖东空白处可以左右拖动时间轴,点击事件可以弹出一个小窗口来描述时间内容及其数据. JS组件有以下几个目标: 支持iPads和其它支持触摸的设备 非常容易整合到基于HTML/JS应用和界面 支持复杂的布局,并且可以对任何指定自定

分享一个jQuery动态网格布局插件:Masonry

在线演示 Masonry是 一款非常强大的jQuery动态网格布局插件,可以帮助开发人员快速开发类似剪贴画的界面效果.和CSS中float的效果不太一样的地方在 于,float先水平排列,然后再垂直排列,使用Masonry则垂直排列元素,然后将下一个元素放置到网格中的下一个开发区域.这种效果可以最小化处理 不同高度的元素在垂直方向的间隙.如下: 在上图中大家可以看到,在网格布局中使用float来处理不同高度的元素会使得垂直方向的元素间间隔比较大,而使用Masonry处理后,间隔变小. Javas

一个jquery的弹出层的插件第1/2页_jquery

复制代码 代码如下: String.prototype.replaceAll = function(s1,s2){ return this.replace(new RegExp(s1,"gm"),s2); }; (function($){ /* * $-layer 0.1 - jquery pulg-in * * Copyright (c) 2008 King Wong * $Date: 2008-09-28 $ */ var ___win___ = window.self; var

javascript-js语言如何在客户端对屏幕进行截屏并保存到客户端本地?

问题描述 js语言如何在客户端对屏幕进行截屏并保存到客户端本地? (走过路过的大神,跪求帮忙解决小弟一个难题,好人一生平安!!!)用jsp开发的web项目,发现java可以截屏但是截的是服务器端的屏幕,如何在客户端对屏幕进行截屏并保存到客户端本地呢,用js语言可以实现吗? 解决方案 要做插件给客户端安装,js没有这个权限.. 解决方案二: 噢噢,弱弱地问一下,插件是要自己写吗?

一个jquery实现的不错的多行文字图片滚动效果_jquery

今儿分享一个jquery实现多行滚动效果. 我看一些论坛网站上面,公告处用的较多. 代码如下 // 多行滚动 (function($){ $.fn.extend({ Scroll:function(opt,callback){ if(!opt) var opt={}; var _this=this.eq(0).find("ul:first"); var lineH=_this.find("li:first").height(), line=opt.line?pars

我想在安卓客户端本地模拟生成一个好友发送给当前用户的TXT消息, 是要通过context.sendbroadcast()来发送一个新消息事件吗?

问题描述 我想在安卓客户端本地模拟生成一个好友发送给当前用户的TXT消息, 是要通过context.sendbroadcast()来发送一个新消息事件吗?请问Intent应该怎么写, 能否给个例子? 解决方案 发送消息调用sdk的接口发送,和广播没关系解决方案二:您好,  我不是要发送消息给别人, 是要在本地模拟别人给我发了一个TXT消息, 然后触发EMEventListener, 显示通知, 更新chathistory, 并且在本地的conversation和数据库里保存.  请问我应该如何在

分享一个插件实现水珠自动下落效果_javascript技巧

分享一个水珠自动下落的插件,下载地址:https://github.com/foreverjiangting/rainyday.js 下面来看看如何使用它?添加下面代码即可运行它. 实现效果如下: 代码如下: <!DOCTYPE HTML> <html> <head> <style> </style> <meta http-equiv="Content-Type" content="text/html; cha

iOS端自动下载的语音和缩略图会做本地保存么?

问题描述 iOS端自动下载的语音和缩略图会做本地保存么?我自己还需要用sdwebimge做一个本地缓存么? 解决方案 SDK会自动保存的,收发的消息SDK都会自动保存在本地数据库的