2.1.0 • Published 10 years ago

location-emitter v2.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
10 years ago

location-emitter

An observable facade for interacting with the browser path.

npm install location-emitter

During construction location-emitter will detect if history.pushState is available and fall back to using location.hash.

example

var domready = require('domready');
var LocationEmitter = require('location-emitter');

var le = new LocationEmitter();

le.onChange(function (path) {
  console.log(path);
});

domready(function () {
  // start
  le.listen(); // -> log current path, e.g. "/"
  le.url('/foo'); // -> log "/foo"
  le.hash('bar'); // -> log "/foo#bar"
});

constructor

var LocationEmitter = require('location-emitter');

var location = new LocationEmitter();

pushState is opt-out. Force the use of hashes by passing an option.

var location = new LocationEmitter({ html5: false });

methods

location-emitter has some simple functions for interacting with the browser path.

location.url(path)

location.url('/foo'); // -> sets path or hash to "/foo";

location.url(); // -> "/foo"

location.hash(hash)

You may want to interact with the hash directly.

location.hash('hashy-hashy'); // -> hash is now "#hashy-hashy"

location.hash(); // -> "hashy-hashy"

location.replace(path)

Replace the current browser history entry. Uses history.replaceState unless it's unavailable or html5 was set to false;

var location = new LocationEmitter();
location.replace('/') // -> replace history entry with "/"

var location = new LocationEmitter({ html5: false });
location.replace('/') // -> replace history entry with "/#/"

location.onChange(listener) -> unsubscribe

Adds listener functions to handle path changes. Returns an unsubscribe function.

var stopCaring = location.onChange(function (path) {
  // that's a cool path!... maybe.
});

stopCaring(); // -> meh.

location.listen()

Subscribers are not notified of path changes until location-emitter is listening to the DOM. Note: You'll want to make sure the DOM is ready before calling listen.

location.listen(); // -> Notify all subscribers of current and future paths
2.1.0

10 years ago

2.0.12

10 years ago

2.0.11

10 years ago

2.0.10

10 years ago

2.0.9

10 years ago

2.0.8

10 years ago

2.0.7

10 years ago

2.0.6

10 years ago

2.0.5

10 years ago

2.0.4

10 years ago

2.0.3

10 years ago

2.0.2

10 years ago

2.0.1

10 years ago

2.0.0

10 years ago

1.1.2

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago