您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
自动保存表单数据
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://updategreasyfork.deno.dev/scripts/454871/1117300/jqueryformLocalStorage.js
/*! * jQuery Form Local Storage Plugin v0.1 * http://git.oschina.net/since1986/jquery_form_local_storage * * Copyright since1986 * Released under the MIT license */ (function($) { $.fn.formLocalStorage = function(options) { var form_selector = this.selector; var input_selector = form_selector + " :text, " + form_selector + " :checkbox, " + form_selector + " :radio, " + form_selector + " select, " + form_selector + " textarea, " + form_selector + " [type='date']"; if(options.debug){ console.debug(this); } //插件选项 var options = $.extend({ storage_name_perfix : ( this.context.URL + form_selector + "@" ), //暂存的命名前缀 storage_dom_css : {"font-style":"oblique"}, //暂存内容的css(用于区分原始内容与暂存内容) load_ready_callback : function(){}, //暂存内容加载完毕回调 save_ready_callback : function(){}, //暂存内容保存完毕回调 remove_ready_callback : function(){}, //暂存内容删除完毕回调 debug : false, //调试模式 }, options || {}); if(options.debug){ console.debug("storage_name_perfix: " + options.storage_name_perfix); } //表单加载完毕后从localStorage中载入暂存的表单内容 this.ready(function(){ var storage_count = 0; $(input_selector).each(function(){ var storage_key = options.storage_name_perfix + this.name; var storage_value = localStorage.getItem(storage_key); if(storage_value != undefined && storage_value != null){ $(this).val(storage_value); $(this).css(options.storage_dom_css); if(options.debug){ console.debug("Load from localStorage [" + storage_key + " : " + storage_value + "]"); }; storage_count++; } }); if(storage_count > 0) { options.load_ready_callback(); } }); //监控表单内容变化并存入localStorage FIXME 动态写入的内容监控不到 this.ready(function(){ $(input_selector).change(function(){ if(this.value != undefined && this.value != null){ var storage_key = options.storage_name_perfix + this.name; var storage_value = this.value; localStorage.setItem(storage_key, storage_value); $(this).css(options.storage_dom_css); if(options.debug){ console.debug("Save to localStorage [" + storage_key + " : " + storage_value + "]"); }; } options.save_ready_callback(); }); }); //表单提交时自动清空此表单所有暂存内容 this.submit(function(){ $(input_selector).each(function(){ var storage_key = options.storage_name_perfix + this.name; localStorage.removeItem(storage_key); if(options.debug){ console.debug("Remove from localStorage [" + storage_key + "]"); }; }); options.remove_ready_callback(); }); return this; }; })(jQuery);