Часть моего кода JavaScript находится во внешнем файле под названием helpers.js. Внутри HTML-кода, вызывающего этот код JavaScript, мне нужно знать, была ли вызвана определенная функция из helpers.js.
Я попытался создать глобальную переменную, определив:
var myFunctionTag = true;
В глобальном масштабе как в моем HTML-коде, так и в helpers.js.
Вот как выглядит мой html-код:
<html>
...
<script type='text/javascript' src='js/helpers.js'></script>
...
<script>
var myFunctionTag = false;
...
//I try to use myFunctionTag here but it is always false, even though it has been se t to 'true' in helpers.js
</script>
Возможно ли то, что я пытаюсь сделать?
<script>
блоке тегов. Я просто попробовал два разных подхода (без объявления var перед файлом helpers.js), и оба они работали. Я отправлю ответ, но похоже, что в вашем вопросе не хватает какой-то ключевой информации.Ответы:
Перед включением файла helpers.js необходимо объявить переменную. Просто создайте тег скрипта над включением для helpers.js и определите его там.
источник
Переменная может быть объявлена в
.js
файле и просто указана в файле HTML. Моя версияhelpers.js
:И страницу для проверки:
Вы увидите, что тест
alert()
будет отображать две разные вещи, и значение, записанное на странице, будет другим во второй раз.источник
Хорошо, ребята, вот и мой маленький тест. У меня была похожая проблема, поэтому я решил проверить 3 ситуации:
Все результаты были ожидаемыми.
Вместо того, чтобы просматривать учебные пособия, мне было проще попробовать, и я это сделал. Мой вывод: всякий раз, когда вы включаете внешний файл JS в свою HTML-страницу, содержимое внешнего JS «копируется / вставляется» на вашу HTML-страницу до того, как страница будет отображена. Или на свою страницу PHP, если хотите. Пожалуйста, поправьте меня, если я ошибаюсь. Thanx.
Мои файлы примеров следуют:
ВНЕШНИЙ JS:
HTML 1:
HTML 2
источник
Я думаю, вам следует использовать «локальное хранилище», а не глобальные переменные.
Если вы обеспокоены тем, что «локальное хранилище» может не поддерживаться в очень старых браузерах, рассмотрите возможность использования существующего плагина, который проверяет доступность «локального хранилища» и использует другие методы, если он недоступен.
Я использовал http://www.jstorage.info/ и пока доволен им.
источник
Вы можете создать объект json, например:
в fileA.js
И получите доступ к нему из fileB.js, например:
globalVariable.example_attribute
источник
Привет, чтобы передать значения из одного файла js в другой файл js, мы можем использовать концепцию локального хранилища
Файл Two.js
Файл Three.js
источник
Если вы используете узел:
values.js
:Затем просто импортируйте его по мере необходимости в начало каждого файла, в котором он используется (например,
file.js
):источник
// Файл Javascript 1
// Файл Javascript 2
Не забудьте связать свои JS-файлы в html :)
источник