@Nodar
Python, Ruby, JavaScript

Как загрузить удаленный JS?

Всем привет.
Есть задача: подгружать удаленную js библиотеку, наподобие cdn
В основном шаблоне приожения, есть такой скрипт

var Ooc = {};

(function (Ooc) {

function Initialize() {

Initialize.load = function (client_id, apikey) {
var ref;
ref = document.createElement('script');
ref.type ="text/javascript";
ref.src = Ooc.baseDirectory + "?" + "client_id="+ client_id + "&apikey=" + apikey;
document.getElementsByTagName('head')[0].appendChild(ref);
};

return Initialize;
}

Ooc.baseDirectory = "localhost:8001/apiscript";
Ooc.client_id = "540811cf0640fd12bbf32c48";
Ooc.apikey = "111";

Ooc.Initialize = Initialize();
})(Ooc);

Ooc.Initialize.load(Ooc.client_id, Ooc.apikey);


Который, теоретически, должен подгрузить нужную либу. В данный момент все действия разворачиваются на одной машине. Однако, при попытке это протестировать получаю:
GET localhost:8001/apiscript?client_id=540811cf0640fd1... net::ERR_CONNECTION_REFUSED
Initialize.Initialize.load
(anonymous function)

Я не JS ниндзя, да и вообще пишу его, только потому что приходится, поэтому прошу сообщество помочь, или подкинуть идеи, куда копать.
  • Вопрос задан
  • 2341 просмотр
Решения вопроса 1
zoonman
@zoonman
⋆⋆⋆⋆⋆
Есть библиотека, которая называется require.js.
Но я бы рекомендовал избегать явной передачи app_id & api_key, т.к. это потенциальная брешь в вашем приложении. Исходя из личного опыта, могу посоветовать лишь сборку всего js в один файл и асинхронную доставку в приложение.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
А почему у васOoc.baseDirectory = "localhost:8001/apiscript";
а не
Ooc.baseDirectory = "http://localhost:8001/apiscript";
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект