#javascript #html #reactjs #ecmascript-6 #web-applications
Вопрос:
У меня следующая ситуация
index.html
<head>
<!-- Web Analytics SDK -->
<script async src="https://host/prd/analytics_bundle.min.js"></script>
<script>
(function (arr) {
window.analyticsSDK = window.analyticsSDK || {};
arr.forEach(function (a) {
window.analyticsSDK[a] = window.analyticsSDK[a] || function () {
(window.analyticsSDK.q = window.analyticsSDK.q || []).push([a, ...arguments]);
}
});
})(['initialize', 'sendEvent']);
</script>
<!-- End Web Analytics SDK -->
--- some other scripts.
</head>
Затем я использую объект из i.e analyticsSDK
для его index.jsx
глобальной инициализации следующим образом.
индекс.jsx
window.analyticsSDK.initialize('myapp','prod');
Я не в состоянии понять порядок исполнения здесь. Я хочу знать
- Когда этот скрипт будет загружен? Произойдет ли это перед запуском
index.jsx
? - Есть
async
в сценарии. Когда будет вызвана функция внутри скрипта, т. е.(function (arr)..)
? Произойдет ли это сразу после загрузки скрипта? - Будет
analyticsSDK be added to the window before calling
ли инициализироваться на нем?
Из-за этого я наблюдаю какое-то странное поведение. Для некоторых пользователей он инициализируется, для некоторых пользователей-нет. Мне трудно его отлаживать. Было бы здорово, если бы кто — нибудь мог помочь ответить на мои вопросы.