diff --git a/mwoffliner/mwoffliner.js b/mwoffliner/mwoffliner.js
index c51f0e8..0029942 100755
--- a/mwoffliner/mwoffliner.js
+++ b/mwoffliner/mwoffliner.js
@@ -623,6 +623,11 @@ function saveJavascript() {
var html = loadUrlSync( webUrl );
html = html.replace( '
', '');
+
+ // Create a dummy JS file to be executed asynchronously in place of loader.php
+ var dummyPath = rootPath + javascriptDirectory + '/local.js';
+ fs.writeFileSync(dummyPath, "console.log('mw.loader not supported');");
+
var window = jsdom.jsdom( html ).createWindow();
window.addEventListener('load', function () {
@@ -636,16 +641,23 @@ function saveJavascript() {
for ( var i = 0; i < scripts.length ; i++ ) {
var script = scripts[i];
var url = script.getAttribute( 'src' );
+
+
+ var munge_js = function(txt) {
+ txt = txt.replace(RegExp("//bits.wikimedia.org/.*.wikipedia.org/load.php", "g"), "../../../../../js/local.js");
+ return txt;
+ }
+
if ( url ) {
- url = getFullUrl( url );
+ url = getFullUrl( url ).replace("debug=false", "debug=true");
console.info( 'Downloading javascript from ' + url );
// var body = loadUrlSync( url ).replace( '"//', '"http://' );
var body = loadUrlSync( url );
- fs.appendFile( javascriptPath, '\n' + body + '\n', function (err) {} );
+ fs.appendFile( javascriptPath, '\n' + munge_js(body) + '\n', function (err) {} );
} else {
- fs.appendFile( javascriptPath, '\n' + script.innerHTML + '\n', function (err) {} );
+ fs.appendFile( javascriptPath, '\n' + munge_js(script.innerHTML) + '\n', function (err) {} );
}
}
});