Fix script storage on Opera.
This commit is contained in:
parent
6e11bfd8b5
commit
67c66a2d4c
@ -884,58 +884,62 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$.extend($, typeof GM_deleteValue !== "undefined" && GM_deleteValue !== null ? {
|
if (typeof GM_deleteValue !== "undefined" && GM_deleteValue !== null) {
|
||||||
"delete": function(name) {
|
$["delete"] = function(name) {
|
||||||
return GM_deleteValue(g.NAMESPACE + name);
|
return GM_deleteValue(g.NAMESPACE + name);
|
||||||
},
|
};
|
||||||
get: function(name, defaultValue) {
|
$.get = function(name, defaultValue) {
|
||||||
var value;
|
var value;
|
||||||
if (value = GM_getValue(g.NAMESPACE + name)) {
|
if (value = GM_getValue(g.NAMESPACE + name)) {
|
||||||
return JSON.parse(value);
|
return JSON.parse(value);
|
||||||
} else {
|
} else {
|
||||||
return defaultValue;
|
return defaultValue;
|
||||||
}
|
}
|
||||||
},
|
};
|
||||||
set: function(name, value) {
|
$.set = function(name, value) {
|
||||||
name = g.NAMESPACE + name;
|
name = g.NAMESPACE + name;
|
||||||
value = JSON.stringify(value);
|
value = JSON.stringify(value);
|
||||||
localStorage.setItem(name, value);
|
localStorage.setItem(name, value);
|
||||||
return GM_setValue(name, value);
|
return GM_setValue(name, value);
|
||||||
}
|
};
|
||||||
} : window.opera ? {
|
} else if (window.opera) {
|
||||||
"delete": function(name) {
|
(function() {
|
||||||
return delete opera.scriptStorage[g.NAMESPACE + name];
|
var scriptStorage;
|
||||||
},
|
scriptStorage = opera.scriptStorage;
|
||||||
get: function(name, defaultValue) {
|
$["delete"] = function(name) {
|
||||||
var value;
|
return delete scriptStorage[g.NAMESPACE + name];
|
||||||
if (value = opera.scriptStorage[g.NAMESPACE + name]) {
|
};
|
||||||
return JSON.parse(value);
|
$.get = function(name, defaultValue) {
|
||||||
} else {
|
var value;
|
||||||
return defaultValue;
|
if (value = scriptStorage[g.NAMESPACE + name]) {
|
||||||
}
|
return JSON.parse(value);
|
||||||
},
|
} else {
|
||||||
set: function(name, value) {
|
return defaultValue;
|
||||||
name = g.NAMESPACE + name;
|
}
|
||||||
value = JSON.stringify(value);
|
};
|
||||||
localStorage.setItem(name, value);
|
return $.set = function(name, value) {
|
||||||
return opera.scriptStorage[name] = value;
|
name = g.NAMESPACE + name;
|
||||||
}
|
value = JSON.stringify(value);
|
||||||
} : {
|
localStorage.setItem(name, value);
|
||||||
"delete": function(name) {
|
return scriptStorage[name] = value;
|
||||||
|
};
|
||||||
|
})();
|
||||||
|
} else {
|
||||||
|
$["delete"] = function(name) {
|
||||||
return localStorage.removeItem(g.NAMESPACE + name);
|
return localStorage.removeItem(g.NAMESPACE + name);
|
||||||
},
|
};
|
||||||
get: function(name, defaultValue) {
|
$.get = function(name, defaultValue) {
|
||||||
var value;
|
var value;
|
||||||
if (value = localStorage.getItem(g.NAMESPACE + name)) {
|
if (value = localStorage.getItem(g.NAMESPACE + name)) {
|
||||||
return JSON.parse(value);
|
return JSON.parse(value);
|
||||||
} else {
|
} else {
|
||||||
return defaultValue;
|
return defaultValue;
|
||||||
}
|
}
|
||||||
},
|
};
|
||||||
set: function(name, value) {
|
$.set = function(name, value) {
|
||||||
return localStorage.setItem(g.NAMESPACE + name, JSON.stringify(value));
|
return localStorage.setItem(g.NAMESPACE + name, JSON.stringify(value));
|
||||||
}
|
};
|
||||||
});
|
}
|
||||||
|
|
||||||
Polyfill = {
|
Polyfill = {
|
||||||
init: function() {
|
init: function() {
|
||||||
|
|||||||
73
lib/$.coffee
73
lib/$.coffee
@ -192,42 +192,51 @@ $.extend $,
|
|||||||
Math.round size
|
Math.round size
|
||||||
"#{size} #{['B', 'KB', 'MB', 'GB'][unit]}"
|
"#{size} #{['B', 'KB', 'MB', 'GB'][unit]}"
|
||||||
|
|
||||||
$.extend $,
|
if GM_deleteValue?
|
||||||
if GM_deleteValue?
|
$.delete = (name) ->
|
||||||
delete: (name) ->
|
GM_deleteValue g.NAMESPACE + name
|
||||||
GM_deleteValue g.NAMESPACE + name
|
$.get = (name, defaultValue) ->
|
||||||
get: (name, defaultValue) ->
|
if value = GM_getValue g.NAMESPACE + name
|
||||||
if value = GM_getValue g.NAMESPACE + name
|
JSON.parse value
|
||||||
|
else
|
||||||
|
defaultValue
|
||||||
|
$.set = (name, value) ->
|
||||||
|
name = g.NAMESPACE + name
|
||||||
|
value = JSON.stringify value
|
||||||
|
# for `storage` events
|
||||||
|
localStorage.setItem name, value
|
||||||
|
GM_setValue name, value
|
||||||
|
else if window.opera
|
||||||
|
(->
|
||||||
|
# http://www.opera.com/docs/userjs/specs/#scriptstorage
|
||||||
|
# http://www.opera.com/docs/userjs/using/#securepages
|
||||||
|
# >The scriptStorage object is available only during
|
||||||
|
# the main User JavaScript thread, being therefore
|
||||||
|
# accessible only in the main body of the user script.
|
||||||
|
# To access the storage object later, keep a reference
|
||||||
|
# to the object.
|
||||||
|
{scriptStorage} = opera
|
||||||
|
$.delete = (name) ->
|
||||||
|
delete scriptStorage[g.NAMESPACE + name]
|
||||||
|
$.get = (name, defaultValue) ->
|
||||||
|
if value = scriptStorage[g.NAMESPACE + name]
|
||||||
JSON.parse value
|
JSON.parse value
|
||||||
else
|
else
|
||||||
defaultValue
|
defaultValue
|
||||||
set: (name, value) ->
|
$.set = (name, value) ->
|
||||||
name = g.NAMESPACE + name
|
name = g.NAMESPACE + name
|
||||||
value = JSON.stringify value
|
value = JSON.stringify value
|
||||||
# for `storage` events
|
# for `storage` events
|
||||||
localStorage.setItem name, value
|
localStorage.setItem name, value
|
||||||
GM_setValue name, value
|
scriptStorage[name] = value
|
||||||
else if window.opera
|
)()
|
||||||
delete: (name)->
|
else
|
||||||
delete opera.scriptStorage[g.NAMESPACE + name]
|
$.delete = (name) ->
|
||||||
get: (name, defaultValue) ->
|
localStorage.removeItem g.NAMESPACE + name
|
||||||
if value = opera.scriptStorage[g.NAMESPACE + name]
|
$.get = (name, defaultValue) ->
|
||||||
JSON.parse value
|
if value = localStorage.getItem g.NAMESPACE + name
|
||||||
else
|
JSON.parse value
|
||||||
defaultValue
|
else
|
||||||
set: (name, value) ->
|
defaultValue
|
||||||
name = g.NAMESPACE + name
|
$.set = (name, value) ->
|
||||||
value = JSON.stringify value
|
localStorage.setItem g.NAMESPACE + name, JSON.stringify value
|
||||||
# for `storage` events
|
|
||||||
localStorage.setItem name, value
|
|
||||||
opera.scriptStorage[name] = value
|
|
||||||
else
|
|
||||||
delete: (name) ->
|
|
||||||
localStorage.removeItem g.NAMESPACE + name
|
|
||||||
get: (name, defaultValue) ->
|
|
||||||
if value = localStorage.getItem g.NAMESPACE + name
|
|
||||||
JSON.parse value
|
|
||||||
else
|
|
||||||
defaultValue
|
|
||||||
set: (name, value) ->
|
|
||||||
localStorage.setItem g.NAMESPACE + name, JSON.stringify value
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user