使用上次输入的值自动填写表格(input和select)。浏览器需要安装Tampermonkey或者Greasemonkey扩展,安卓浏览器推荐Yandex或者Kiwi浏览器。支持SPA(比如vue)// // @require https://greasyfork.org/scripts/440334-jquery-like-spa-operation-library/code/jQuery-like%20SPA%20operation%20library.js?version= 1020492
当前为
// ==UserScript==
// @name fill the input and select of form as last time inputed automatically
// @name:zh-CN 使用上次输入的值自动填写表格
// @namespace http://tampermonkey.net/
// @description This script supports SPA like vue。
// @description:zh-CN 使用上次输入的值自动填写表格(input和select)。浏览器需要安装Tampermonkey或者Greasemonkey扩展,安卓浏览器推荐Yandex或者Kiwi浏览器。支持SPA(比如vue)// // @require https://greasyfork.org/scripts/440334-jquery-like-spa-operation-library/code/jQuery-like%20SPA%20operation%20library.js?version= 1020492
// @include http://*
// @include https://*
// @grant GM_setValue
// @grant GM_getValue
// @author yechenyin
// @license MIT
// @version 1.0
// ==/UserScript==
jQuery.fn.saveChangedValue = function () {
let that = this
that.on('change', function () {
let href = 'inputed_' + location.href.replace(/\?.*/, '')
let inputs = ''
if (typeof GM_getValue === 'undefined')
inputs = localStorage[href]
else if (GM_getValue(href)) {
inputs = GM_getValue(href)
}
if (inputs)
inputs = JSON.parse(inputs)
else
inputs = {}
//console.log(this.constructor.name)
//console.log(Object.keys(this))
let name = ''
if (this.id)
name = '#' + this.id
else if ($(this).attr('name'))
name = $(this).attr('name')
else {
for (let i = 0; i < that.length; i++) {
if (this == that[i])
name = i
}
}
inputs[name] = $(this).val()
if (typeof GM_setValue === 'undefined')
localStorage[href] = JSON.stringify(inputs)
else
GM_setValue(href, JSON.stringify(inputs))
//console.log(GM_getValue(href))
})
}
jQuery.fn.recoverSavedValue = function () {
this.inserted(function () {
let that = this
let href = 'inputed_' + location.href.replace(/\?.*/, '')
console.log(GM_getValue(href))
let inputs = ''
if (typeof GM_getValue === 'undefined')
inputs = localStorage[href]
else if (GM_getValue(href)) {
inputs = GM_getValue(href)
}
if (inputs)
inputs = JSON.parse(inputs)
else
inputs = {}
//console.log(inputs)
if (Object.keys(inputs).length) {
this.each(function () {
let name = ''
if (this.id)
name = '#' + this.id
else if ($(this).attr('name'))
name = $(this).attr('name')
else {
for (let i = 0; i < that.length; i++) {
if (this == that[i])
name = i
}
}
if (inputs.hasOwnProperty(name)) {
$(this).val(inputs[name])
}
})
}
})
}
window.onload = function () {
$('input, select').recoverSavedValue()
$('input, select').inserted(function () {
$('input, select').saveChangedValue()
})
}