Just A copy of LiveReload.js to fix combo url issue
LiveReload.js
=============
What is LiveReload?
-------------------
LiveReload is a tool for web developers and designers. See
livereload.com for more info.
To use LiveReload, you need a client (this script) in your browser and a server running on your development machine.
This repository (livereload.js) implements the client side of the protocol. The client connects to a LiveReload server via web sockets and listens for incoming change notifications. When a CSS or an image file is modified, it is live-refreshed without reloading the page. When any other file is modified, the page is reloaded.
The server notifies the client whenever a change is made. Available servers are:
*
LiveReload app for Mac
*
rack-livereload
*
guard-livereload
*
grunt-contrib-watch
* more available on Google :-)
* you can even write your own; refer to the
LiveReload protocol
If you are a web developer looking to _use_ LiveReload, you should refer to your LiveReload server/app/tool's documentation, rather that this repository.
You should use the copy of livereload.js script bundled with your server, because it's guaranteed to be compatible, and may be customized for that server.
Most LiveReload server vendors will serve livereload.js on the LiveReload port. When your server is running, you can typically access the script at
http://0.0.0.0:35729/livereload.js.
Please read on
only if you are:
* using a server that doesn't document the usage of livereload.js
* interested in hacking on livereload.js or want to understand it better
* developing a LiveReload server
What is livereload.js?
----------------------
This repository contains a JavaScript file implementing the client side of the LiveReload protocol. It gets change notifications from a LiveReload server and applies them to the browser.
If you are
developing a LiveReload server, see
dist/livereload.js for the latest version built using the sources in this repository. We require LiveReload server vendors to distribute livereload.js as part of their apps or tools.
An old version of this script is also bundled with the LiveReload browser extensions, but it's not getting updated and only serves for compatibility with very old clients.
Features:
* Live CSS reloading
* Full page reloading
* Protocol, WebSocket communication
* CSS
@import support
* Live image reloading (

,
background-image and
border-image properties, both inline and in stylesheets)
* Live, in-browser LESS.js reloading
Would love, but doesn't seem possible:
* live JS reloading
Installing using Bower
----------------------
This script is published on Bower. (But, to reiterate: the preferred method is to avoid installing it altogether, and instead use the one bundled with your LiveReload server/app/tool.)
Installation:
bower install livereload-js --save-dev
This gives you a component containing a single script file,
dist/livereload.js.
Installing using npm and Browserify
-----------------------------------
Including livereload.js into your Browserify bundle probably makes no sense, because livereload.js isn't something you would ship to production.
But if you insist _and_ you know what you're doing, you can install LiveReload via npm:
npm install livereload-js --save
and then add this to your bundle:
window.LiveReloadOptions = { host: 'localhost' };
require('livereload-js');
Note that livereload-js package uses
window and
document globals, so won't run under Node.js environment.
The reason you need to specify
LiveReloadOptions is that
livereload.js won't be able to find its
tag and would normally bail out with an error message.
Using livereload.js
-------------------
This script is meant to be included into the web pages you want to monitor, like this:
LiveReload 2 server listens on port
35729 and serves livereload.js over HTTP (besides speaking the web socket protocol on the same port).
A slightly smarter way is to use the host name of the current page, assuming that it is being served from the same computer. This approach enables LiveReload when viewing the web page from other devices on the network:
``
html
`
However, since location.host
is empty for file:
URLs, we need to account for that:
`
html
`
LiveReload.js finds a script
tag that includes …/livereload.js
and uses it to determine the hostname/port to connect to. It also understands some options from the query string: host
, port
, snipver
, mindelay
and maxdelay
.
snipver
specifies a version of the snippet, so that we can warn when the snippet needs to be updated. The currently recommended snipver
is version 1:
`
html
`
Additionally, you might want to specify mindelay
and maxdelay
, which is minimum and maximum reconnection delay in milliseconds (defaulting to 1000
and 60000
).
Alternatively, instead of loading livereload.js from the LiveReload server, you might want to include it from a different URL. In this case, add a host
parameter to override the host name. For example:
`
html
`
Options
-------
Options can either be specified as query parameters of the