Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.01.2019, 13:27
Новичок на форуме
Отправить личное сообщение для salieri Посмотреть профиль Найти все сообщения от salieri
 
Регистрация: 03.01.2019
Сообщений: 3

Использование глобальной переменной
Здравствуйте! Подскажите, пожалуйста, как мне использовать глобальную переменную sStat в
link.onload = function() {sStat=1;}


var sStat=0;

function one(){

var link = document.createElement("script");
link.id = "js_3";
link.type = "text/javascript";
link.src = "3.js";

link.onload = function() {sStat=1;}
link.onerror = function() {sStat=0;}

var head = document.getElementsByTagName("head")[0];
head.appendChild(link);

}

window.onload = function() {
one();
alert(sStat); //выводится 0 почему-то
}


можно ли как-то влиять на глобальную переменную sStat?
Ответить с цитированием
  #2 (permalink)  
Старый 03.01.2019, 13:37
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

зачем столько много букв?
function one(){
sStat=1;
}
Ответить с цитированием
  #3 (permalink)  
Старый 03.01.2019, 15:08
Новичок на форуме
Отправить личное сообщение для salieri Посмотреть профиль Найти все сообщения от salieri
 
Регистрация: 03.01.2019
Сообщений: 3

j0hnik,
так смысл-то в том, чтобы определить, загрузился скрипт 3.js или нет
если да, то 1, если нет, то 0
Ответить с цитированием
  #4 (permalink)  
Старый 03.01.2019, 16:11
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от salieri
смысл-то в том, чтобы определить, загрузился скрипт 3.js или нет
<script>

const loadScript = url => new Promise((resolve, reject) => {
	var script = document.createElement("script");
	script.src = url;

	script.onload = resolve;
	script.onerror = reject;
	
	document.head.appendChild(script);
});
	
loadScript("data:text/javascript,var x = 5;").then(() => {
	alert("OK");
}).catch(() => {
	alert("Not OK");
});
	
</script>


Загрузка скрипта является асинхронной операцией, поэтому вы не можете синхронно получить на этот вопрос ответ. В примере выше я вывожу сообщение в зависимости от успеха загрузки. Вы соответственно можете там применять то, что нужно.

Последний раз редактировалось Malleys, 03.01.2019 в 16:16.
Ответить с цитированием
  #5 (permalink)  
Старый 05.01.2019, 21:08
Новичок на форуме
Отправить личное сообщение для salieri Посмотреть профиль Найти все сообщения от salieri
 
Регистрация: 03.01.2019
Сообщений: 3

спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование переменной в jQuery функции Lol9999 jQuery 1 18.06.2016 14:50
Разница между переменной с var и без, которые в глобальной области zhurchik Общие вопросы Javascript 20 15.03.2015 05:30
изменение значения глобальной переменной внутри функции mgmarket Серверные языки и технологии 14 13.09.2011 00:56
проблемы с импользованием глобальной переменной Ichigeki ExtJS 15 25.08.2011 23:25
Обращение к глобальной переменной из jQuery Иван Алексеев jQuery 6 13.08.2010 20:56