Build $.delete, $.get and $.set depending on the extension type.
This commit is contained in:
parent
f01d6c974b
commit
50d091c896
69
lib/$.coffee
69
lib/$.coffee
@ -201,11 +201,30 @@ $.extend $,
|
|||||||
Math.round size
|
Math.round size
|
||||||
"#{size} #{['B', 'KB', 'MB', 'GB'][unit]}"
|
"#{size} #{['B', 'KB', 'MB', 'GB'][unit]}"
|
||||||
|
|
||||||
if GM_deleteValue?
|
<% if (type === 'crx') { %>
|
||||||
|
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
|
||||||
|
<% } else if (type === 'userjs') { %>
|
||||||
|
do ->
|
||||||
|
# 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 = (name) ->
|
||||||
GM_deleteValue g.NAMESPACE + name
|
delete scriptStorage[g.NAMESPACE + name]
|
||||||
$.get = (name, defaultValue) ->
|
$.get = (name, defaultValue) ->
|
||||||
if value = GM_getValue g.NAMESPACE + name
|
if value = scriptStorage[g.NAMESPACE + name]
|
||||||
JSON.parse value
|
JSON.parse value
|
||||||
else
|
else
|
||||||
defaultValue
|
defaultValue
|
||||||
@ -214,37 +233,19 @@ if GM_deleteValue?
|
|||||||
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
|
<% } else { %>
|
||||||
do ->
|
delete: (name) ->
|
||||||
# http://www.opera.com/docs/userjs/specs/#scriptstorage
|
GM_deleteValue g.NAMESPACE + name
|
||||||
# http://www.opera.com/docs/userjs/using/#securepages
|
get: (name, defaultValue) ->
|
||||||
# >The scriptStorage object is available only during
|
if value = GM_getValue g.NAMESPACE + name
|
||||||
# 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
|
|
||||||
else
|
|
||||||
defaultValue
|
|
||||||
$.set = (name, value) ->
|
|
||||||
name = g.NAMESPACE + name
|
|
||||||
value = JSON.stringify value
|
|
||||||
# for `storage` events
|
|
||||||
localStorage.setItem name, value
|
|
||||||
scriptStorage[name] = value
|
|
||||||
else
|
|
||||||
$.delete = (name) ->
|
|
||||||
localStorage.removeItem g.NAMESPACE + name
|
|
||||||
$.get = (name, defaultValue) ->
|
|
||||||
if value = localStorage.getItem g.NAMESPACE + name
|
|
||||||
JSON.parse value
|
JSON.parse value
|
||||||
else
|
else
|
||||||
defaultValue
|
defaultValue
|
||||||
$.set = (name, value) ->
|
set: (name, value) ->
|
||||||
localStorage.setItem g.NAMESPACE + name, JSON.stringify value
|
name = g.NAMESPACE + name
|
||||||
|
value = JSON.stringify value
|
||||||
|
# for `storage` events
|
||||||
|
localStorage.setItem name, value
|
||||||
|
GM_setValue name, value
|
||||||
|
<% } %>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user