devd icon indicating copy to clipboard operation
devd copied to clipboard

Livereload with custom script file

Open tjunussov opened this issue 9 years ago • 2 comments

There is library called PJAX, which makes static site/spa fully AJAXed, browsing experience becomes much faster, because it reuses all js and styles and loads only html content.

While developing such projects with devd, this a little bit inconvenient, as devd reloads page fully with location.reload()

1) Is it possible to run devd -l but not to inject livereload script ? or provide my own modified script devd -l=myscript.js

or

  1. Maybe possible to call js function before reload which could be overridden ?

288: ws.onmessage = function(event) { 289: if (event.data == "page") { 290: ws.close(); 291: if(DevdReconnectingWebSocket.reload())

DevdReconnectingWebSocket.reload = function(){ location.reload(); }

tjunussov avatar Dec 04 '16 08:12 tjunussov

Hi there. I think the best way might be for the livereload script to check whether a specially named function is defined (say, __devd_livereload). If the function is in the global scope, it's called rather than hard-reloading the page. Would this work for you? I'd accept a patch that implements something like this.

cortesi avatar Dec 04 '16 09:12 cortesi

yes this would be ok! I will try to send patch

tjunussov avatar Dec 11 '16 17:12 tjunussov