Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как проверить подключен ли скрипт и если нет подключить из другого места? (https://javascript.ru/forum/dom-window/69266-kak-proverit-podklyuchen-li-skript-i-esli-net-podklyuchit-iz-drugogo-mesta.html)

An1984tonn 09.06.2017 22:43

Как проверить подключен ли скрипт и если нет подключить из другого места?
 
Подскажите пожалуйста... Есть скрипт key.js. который лежит на хостинге и подключен в html - <script src="http://xxx.xx.ru/key.js"></script>.

Как проверить если он по какой-то причине не подключился, то подключить его с другого места например<script src="http://yyy.yy.ru/key.js"></script>

:help:

laimas 09.06.2017 22:46

И кто же его так нерадиво подключает в HTML?

An1984tonn 09.06.2017 22:54

а как? у меня знаний мало. подскажите как нужно, но обязательно он должен на сервере быть и если сервер не доступен подгрузился второй, с другого сервера)

рони 09.06.2017 22:58

An1984tonn,
проверить функцию из первого пути, если её нет напечатать второй вариант.

laimas 09.06.2017 23:01

Цитата:

Сообщение от An1984tonn
обязательно он должен на сервере быть

И чей это сервер?

рони 09.06.2017 23:02

:write:
<script src="http://xxx.xx.ru/key.js"></script>.
  <script>
if (typeof SuperPuper == 'undefined') {
  document.write(unescape("%3Cscript src='http://yyy.yy.ru/key.js' %3E%3C/script%3E"));
}
  </script>

MallSerg 10.06.2017 03:06

Для таких задач используют обработчики onload onerror
https://learn.javascript.ru/onload-onerror

также у страницы есть специальный массив где хранятся все скрипты
где можно поискать скрипт с нужным src document.scripts[x].src и убедится что он не пустой document.scripts[x].text != ""

An1984tonn 10.06.2017 11:59

Цитата:

Сообщение от рони (Сообщение 455091)
:write:
<script src="http://xxx.xx.ru/key.js"></script>.
  <script>
if (typeof SuperPuper == 'undefined') {
  document.write(unescape("%3Cscript src='http://yyy.yy.ru/key.js' %3E%3C/script%3E"));
}
  </script>

Подскажите, а то я очень новичок откуда берется "SuperPuper", а то оно всегда undefined и получается что грузятся оба скрипта обновременна:-?

Rise 10.06.2017 13:14

Цитата:

Сообщение от An1984tonn
откуда берется "SuperPuper"

Наверно отсюда)
// xxx.xx.ru/key.js
var SuperPuper = function(){
    // code SuperPuper
}();

An1984tonn 10.06.2017 16:19

Спасибо огромное за помощь чуток прозрел))


Часовой пояс GMT +3, время: 08:50.