- More events, including touch
- Works with mouseover/out (hovering)
- Uses xpath instead of index to find elements - this works much better when you have unpredictable HTML in the page
- If you don't already have it, install node stable: https://nodejs.org/en/
- Create a directory that you want to use for browser sync, and go to that directory on the command line
npm install jsguy/browser-sync
- Install git: https://git-scm.com/download/win
- Install VS2015 if you don't already have it: https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx (need this for compiling GYP - you could possibly alternatively install Python and a bunch of other things, but vs2015 seems the easiest way to get this to work on windows. Note: this is a browser sync requirement, and a suggestion in their documentation)
npm install jsguy/browser-sync --msvs_version=2015
Installation should now be complete.
Note: you cannot easily install forked repositories globally, which is why this is the recommended approach.
The main benefit of using this version over the normal branch is as a proxy, for example:
node node_modules/browser-sync/bin/browser-sync.js start --proxy localhost
This will open your localhost, in a proxied state - you can then access that URL externally with shared devices.
Keep multiple browsers & devices in sync when building websites.
Browsersync is developed and maintained internally at JH
Follow @Browsersync on twitter for news & updates.
Please visit browsersync.io for a full run-down of features
Browsersync works by injecting an asynchronous script tag (<script async>...</script>
) right after the <body>
tag
during initial request. In order for this to work properly the <body>
tag must be present. Alternatively you
can provide a custom rule for the snippet using snippetOptions
Providing you haven't accessed any internal properties, everything will just work as there are no breaking changes to the public API. Internally however, we now use an immutable data structure for storing/retrieving options. So whereas before you could access urls like this...
browserSync({server: true}, function(err, bs) {
console.log(bs.options.urls.local);
});
... you now access them in the following way:
browserSync({server: true}, function(err, bs) {
console.log(bs.options.getIn(["urls", "local"]));
});
If you've found Browser-sync useful and would like to contribute to its continued development & support, please feel free to send a donation of any size - it would be greatly appreciated!
1294 Shane Osbourne
60 Shinnosuke Watanabe
19 Shane Daniel
13 Hugo Bessa
11 Paul Kinlan
8 shinnn
4 Matt Green
3 Jon Stevens
3 Werner van Deventer
3 Simen Bekkhus
3 Adam Lynch
3 Dave Hall
3 Marek 'saji' Augustynowicz
2 38elements
2 Piotr Kaleta
2 Eugeny Vlasenko
2 Steve Mao
2 Michael Branch
2 The Gitter Badger
2 Dan Tello
2 Olivier Combe
2 brutaldev
2 chase_chou
2 Hugo Dias
2 Paul Robertson
1 Tony Holdstock-Brown
1 Victor Fernandez de Alba
1 Yazhong Liu
1 dsc
1 mericson
1 viktor hesselbom
1 wesruv
1 Andrew Schmadel
1 Austin Pray
1 Benjamín Eidelman
1 Björn Söderqvist
1 Cameron Spear
1 Carl Henderson
1 Cedric Kastner
1 Christian Vuerings
1 Craig Morris
1 Dimitri Nicolas
1 Guillaume Lambert
1 Imran Sulemanji
1 Jason Dreyzehner
1 Jory Graham
1 Michael Leigeber
1 Naoya Kanai
1 Paul Love
1 Paul Miller
1 Peter Blazejewicz
1 Philipp Nowinski
1 Plou
1 Robert Vock
1 Stian Didriksen
1 Sylvain Emery
Apache 2 Copyright (c) 2015 Shane Osbourne