Skip to content
Cross domain localStorage
JavaScript HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
source remove crel Feb 6, 2020
tests
.eslintignore
.eslintrc build to es5 on publish Feb 3, 2020
.gitignore
.npmignore fix pathing for deep requires Feb 4, 2020
.prettierignore Resolve data handling to remove JSON.parse / JSON.stringify, sightly … Feb 3, 2020
.prettierrc Resolve data handling to remove JSON.parse / JSON.stringify, sightly … Feb 3, 2020
LICENSE Initial commit Apr 6, 2016
README.md
guest.js fix pathing for deep requires Feb 4, 2020
host.js
package-lock.json remove crel Feb 6, 2020
package.json remove crel Feb 6, 2020

README.md

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)

NOTE: The keys and the values in localStorage are always strings thus objects, numbers etc used as keys or values will be automatically converted to strings.

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.
You can’t perform that action at this time.