#Repo the Web# A JavaScript shim which provides the registerProtocolHandler JavaScript API to browsers which have not implemented it yet.
Unlike most polyfills, this one must be centrally hosted as it uses localStorage to maintain protocol registrations.
Demo:
- Go to Fake Rhapsody and "Install Rhapsody".
- Go to Fake Music Blog and click one of the music links. Note: Fake bitcoin link to see what an unknown protocol does.
- Repo The Web config to see installed handlers or to delete them all.
##RePo Shim Usage##
###A Music Service### <script src="http://dev.repotheweb.org:8001/include.js"></script> <script> navigator.xregisterProtocolHandler('music', 'http://your-domain.com/rph/uri#%s', 'Great Music App'); </script>
###A Blog with Music Links###
Jimmie's The Cry of Love
TODO add meta tag example
##Hacking on Demo## If you want to work localy on the demo, here is one way to do it.
$ sudo emacs /etc/hosts
Add the following to 127.0.0.1 entry
127.0.0.1 localhost my-machine dev.rhapsody.com dev.repotheweb.org music-blog.com dev.playlist.com
$ cp src/config.js-dist src/config.js
$ emacs bin/update.sh
$ bin/update.sh
# new terminal 1
$ cd www/repotheweb.org/
$ python -m SimpleHTTPServer 8001
# new terminal 2
$ cd www/rhapsody.com/
$ python -m SimpleHTTPServer 8002
# new terminal 3
$ cd www/music-blog.com/
$ python -m SimpleHTTPServer 8003
# new terminal 4
$ cd www/playlist.com/
$ python -m SimpleHTTPServer 8004
# build
$ cd src
$ node ../lib/r.js -o baseUrl=. name=../lib/almond.js include=include out=../www/repotheweb.org/include.js wrap=true optimize=''
# Optional
$ node ../lib/r.js -o baseUrl=. name=../lib/almond.js include=include out=../www/repotheweb.org/include.min.js wrap=true
-
Fake Rhapsody and "Install Rhapsody".
-
Fake Music Blog to use music links. Note: Fake bitcoin link to see what an unknown protocol does.
-
Fake Playlist.com to see multiple choices, prompts to install automatically.
-
Repo The Web config to see installed handlers.
Translation specific instructions can be find in /www/repotheweb.org/lang/README.md.