diff --git a/Examples/ServiceWorker/index.js b/Examples/ServiceWorker/index.js index 26033734..f857e98f 100644 --- a/Examples/ServiceWorker/index.js +++ b/Examples/ServiceWorker/index.js @@ -1,14 +1,26 @@ /* global Y, Quill */ -// initialize a shared object. This function call returns a promise! +var connector, serviceworker +// register yjs service worker +if ('serviceWorker' in navigator) { + // service worker is supported by the browser + connector = 'serviceworker' + serviceworker = navigator.serviceWorker.register('../bower_components/y-serviceworker/yjs-service-worker.js') +} else { + // use websockets for browsers that do not support service browser + connector = 'websockets-client' +} + +// initialize a shared object. This function call returns a promise! Y({ db: { name: 'memory' }, connector: { - name: 'websockets-client', - room: 'ServiceWorkerExample' + name: connector, + serviceworker: serviceworker, + room: 'ServiceWorkerExample2' }, sourceDir: '/bower_components', share: { @@ -33,19 +45,7 @@ Y({ ] }, theme: 'snow' - }); + }) // bind quill to richtext type y.share.richtext.bind(window.quill) -}) - -if ('serviceWorker' in navigator) { - navigator.serviceWorker.register('./yjs-service-worker.js').then(function(registration) { - // Registration was successful - console.log('Yjs ServiceWorker registration successful with scope: ', registration.scope) - registration.active.postMessage('hi sw') - addEventListener('message', function () {console.log.apply(console, ['host received:'].concat(arguments))}, true) - }).catch(function(err) { - // registration failed :( - console.log('Yjs ServiceWorker registration failed: ', err) - }); -} \ No newline at end of file +}) \ No newline at end of file diff --git a/Examples/ServiceWorker/yjs-service-worker.js b/Examples/ServiceWorker/yjs-service-worker.js deleted file mode 100644 index acd427eb..00000000 --- a/Examples/ServiceWorker/yjs-service-worker.js +++ /dev/null @@ -1,23 +0,0 @@ -importScripts( - '/bower_components/yjs/y.js', - '/bower_components/y-memory/y-memory.js', - '/bower_components/y-indexeddb/y-indexeddb.js', - '/bower_components/y-websockets-client/y-websockets-client.js' -) - -Y({ - db: { - name: 'memory' - }, - connector: { - name: 'websockets-client', - room: 'ServiceWorkerExample', - options: { jsonp: false } - } -}).then(function (y) { - console.log('y sw init') -}) - -addEventListener('message', function () { - console.log.apply(console, ['sw received:'].concat(arguments)) -}, true) \ No newline at end of file