Skip to content

ubermensh/cross-domain-storage

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Allows sharing of local storage across domains.

Use a host to give access to local storage.

Use a guest to gain access to the local storage on a host.

Install

npm i cross-domain-storage

Usage

Host

var createHost = require('cross-domain-storage/host');

host(allowedDomains)

Call with an array of allowed domains.

var storageHost = createHost([
        {
            origin: 'http://www.foo.com',
            allowedMethods: ['get', 'set', 'remove']
        },
        {
            origin: 'http://www.bar.com',
            allowedMethods: ['get']
        }
    ]);

host.close()

storageHost.close();
// storageHost will no longer allow access from guests and can no longer be used.

Guest

var createGuest = require('cross-domain-storage/guest')

guest(hostURL)

Create a guest and connect to the host.

Any methods that are called while connecting are queued up and handled seamlessly.

// Hosted on http://www.foo.com
var bazStorage = createGuest('http://www.baz.com/accessStorage');                         

guest.get(key, callback)

bazStorage.get('fizz', function(error, value) {
    // value for the key of 'fizz' will be retrieved from localStorage on www.baz.com
});

guest.set(key, value, callback)

bazStorage.set('foo', 'bar', function(error, data) {
    // foo is now set to 'bar'
});

guest.remove(key, callback)

bazStorage.remove('foo', function(error, data) {
    // foo is now removed
});

guest.close()

bazStorage.close();
//connection is now closed and bazStorage can no longer be used.

About

Cross domain localStorage

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 99.9%
  • HTML 0.1%