From 12a019d328d5c773076a6efb269d49a91fd62794 Mon Sep 17 00:00:00 2001 From: Lukas Reschke Date: Sun, 26 Mar 2017 14:11:58 +0200 Subject: [PATCH 1/4] Use eval instead of $.script Fixes https://github.com/nextcloud/server/issues/4067 Signed-off-by: Lukas Reschke --- core/js/js.js | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/core/js/js.js b/core/js/js.js index 370e68f560..f6b446ea47 100644 --- a/core/js/js.js +++ b/core/js/js.js @@ -366,15 +366,30 @@ var OCP = {}, */ addScript:function(app,script,ready){ var deferred, path=OC.filePath(app,'js',script+'.js'); - if(!OC.addScript.loaded[path]){ - if(ready){ - deferred=$.getScript(path,ready); - }else{ - deferred=$.getScript(path); + if(!OC.addScript.loaded[path]) { + if(ready) { + deferred = jQuery.ajax({ + url: path, + cache: true, + success: function (content) { + eval(content); + eval(ready); + }, + async: false + }); + } else { + deferred = jQuery.ajax({ + url: path, + cache: true, + success: function (content) { + eval(content); + }, + async: false + }); } - OC.addScript.loaded[path]=deferred; - }else{ - if(ready){ + OC.addScript.loaded[path] = deferred; + } else { + if (ready) { ready(); } } From 980ef89dbf686d48e01fff0a7f64d15480157001 Mon Sep 17 00:00:00 2001 From: Lukas Reschke Date: Sun, 26 Mar 2017 14:17:01 +0200 Subject: [PATCH 2/4] Fix callback Signed-off-by: Lukas Reschke --- core/js/js.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/js/js.js b/core/js/js.js index f6b446ea47..50111718c6 100644 --- a/core/js/js.js +++ b/core/js/js.js @@ -373,7 +373,7 @@ var OCP = {}, cache: true, success: function (content) { eval(content); - eval(ready); + ready(); }, async: false }); From fea21087104280cf3245d7916155c87e52de44ca Mon Sep 17 00:00:00 2001 From: Lukas Reschke Date: Sun, 26 Mar 2017 15:26:10 +0200 Subject: [PATCH 3/4] Make async Signed-off-by: Lukas Reschke --- core/js/js.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/core/js/js.js b/core/js/js.js index 50111718c6..4f0c63f40f 100644 --- a/core/js/js.js +++ b/core/js/js.js @@ -374,8 +374,7 @@ var OCP = {}, success: function (content) { eval(content); ready(); - }, - async: false + } }); } else { deferred = jQuery.ajax({ @@ -383,8 +382,7 @@ var OCP = {}, cache: true, success: function (content) { eval(content); - }, - async: false + } }); } OC.addScript.loaded[path] = deferred; From 3c1d76c282d5b5e30c971ac6241ab35d4476b859 Mon Sep 17 00:00:00 2001 From: Lukas Reschke Date: Sun, 26 Mar 2017 19:45:36 +0200 Subject: [PATCH 4/4] Cleanup code as suggested by @icewind1991 Signed-off-by: Lukas Reschke --- core/js/js.js | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/core/js/js.js b/core/js/js.js index 4f0c63f40f..8c1a2e157d 100644 --- a/core/js/js.js +++ b/core/js/js.js @@ -367,24 +367,16 @@ var OCP = {}, addScript:function(app,script,ready){ var deferred, path=OC.filePath(app,'js',script+'.js'); if(!OC.addScript.loaded[path]) { - if(ready) { - deferred = jQuery.ajax({ - url: path, - cache: true, - success: function (content) { - eval(content); + deferred = jQuery.ajax({ + url: path, + cache: true, + success: function (content) { + eval(content); + if(ready) { ready(); } - }); - } else { - deferred = jQuery.ajax({ - url: path, - cache: true, - success: function (content) { - eval(content); - } - }); - } + } + }); OC.addScript.loaded[path] = deferred; } else { if (ready) {