Как обратиться к функции, которая будет объявлена ​​после загрузки скрипта - PullRequest
0 голосов
/ 08 октября 2019

В среде Sitecore, где я НЕ МОГУ переупорядочивать js-скрипты, созданные в конце <body>, мне нужно проверить, вернула ли одна из функций ( Gigya ) в этих скриптах значение trueзначение ( Мне нужно проверить, вошел ли пользователь в систему или нет ).

Мой скрипт может быть загружен ТОЛЬКО до этих скриптов, поэтому мой скрипт проверяетесли заданная функция имеет истинное возвращаемое значение до того, как указанная функция должна быть вызвана.

Учитывая ситуацию со структурой, я всегда получаю ошибку неизвестной функции.

Есть ли способ обойти это? Я имею в виду, я пытался прикрепить к телу специальный сценарий, содержащий мою контрольную функцию в конце процесса загрузки, но безуспешно.

Есть подсказка? Может быть, добавление слушателей?

1 Ответ

0 голосов
/ 08 октября 2019

Подход 1

Поскольку функция, которую нужно ждать, загружена тегами <script>, вы можете заключить весь код в функцию и вызывать эту функцию с помощью onload

<script src="...gigya..." onload="functionToExecute()">

Подход 2

вместо того, чтобы вызывать functionToExecute, вы можете создать новое синтетическое событие, скажем "gigyaloaded", и прослушать его передВаши функции вызываются.

[https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events]

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

...