🏠 Home 

继续操作前请注册或者登录。

Gazelle : External CSS Saver

Save External CSS

// ==UserScript==
// @name        Gazelle : External CSS Saver
// @namespace   hateradio)))
// @description Save External CSS
// @include     http*://*.what.cd/user.php?action=edit&userid=*
// @include     http*://*.apollo.rip/user.php?action=edit&userid=*
// @version     2
// @grant       none
// ==/UserScript==
(function(){
var strg, saver;
strg = {
on:(function(){ try { var s = window.localStorage; if(s.getItem&&s.setItem&&s.removeItem){return true;} }catch(e){return false;} }()),
read:function(key){ return this.on ? JSON.parse(window.localStorage.getItem(key)) : false; },
save:function(key, dat){ return this.on ? !window.localStorage.setItem(key, JSON.stringify(dat)) : false; },
wipe:function(key){ return this.on ? !window.localStorage.removeItem(key) : false; },
zero:function(o){ var k; for(k in o){ if(o.hasOwnProperty(k)){ return false; } } return true; },
grab:function(key, def){ return this.read(key) || def; }
};
saver = {
boxes : 8,
cssBoxUrl : document.getElementById('styleurl'),
cssBox : document.getElementById('styleurl').parentNode,
submitButton : document.querySelector('input[value="Save Profile"]'),
data : strg.grab('css_saves', {}),
reg : /(?:\.css)/,
init : function () {
this.box.insert();
this.submitButton.addEventListener('click', this.box.saveValues, false);
},
box : {
saveValues : function () {
var i = 0, s = {}, v = '';
for (i; i < saver.boxes; i++) {
v = document.getElementById('addcss'+i).value;
s[i] = saver.reg.test(v) ? v : '';
}
strg.save('css_saves', s);
},
putValue : function () {
if (saver.reg.test(this.value)) {
document.getElementById('styleurl').value = this.value;
}
},
getValue : function (id) {
return saver.data[id] || '';
},
insert : function () {
var i = 0, e, f = document.createDocumentFragment(), s = document.createElement('small');
f.appendChild(document.createElement('br'));
for (i; i < saver.boxes; i++) {
e = document.createElement('input');
e.type = 'url';
e.id = 'addcss' + i;
e.value = this.getValue(i);
e.size = 60;
e.addEventListener('dblclick', saver.box.putValue, false);
f.appendChild(e);
f.appendChild(document.createElement('br'));
}
s.textContent = 'Submit the form to save.';
f.appendChild(s);
saver.cssBox.appendChild(f);
}
}
};
saver.init();
}());