.block {
border: 1px solid red;
display: flex;
flex-wrap: wrap;
max-width: 900px;
justify-content: flex-start;
}
.block__item {
background: grey;
height: 20px;
border-bottom: 2px solid white;
border-right: 2px solid white;
flex-grow: 1;
flex-shrink: 0;
}
.block__item:last-of-type {
border-right: none;
}
<div class="block">
<div class="block__item"></div>
<div class="block__item"></div>
<div class="block__item"></div>
<div class="block__item"></div>
<div class="block__item"></div>
<div class="block__item"></div>
</div>
<div class="block">
<div class="block__item"></div>
<div class="block__item"></div>
</div>
<div class="block">
<div class="block__item"></div>
</div>
Запрос работает асинхронно. Вот почему функция берет onload
функция обратного вызова во-первых. Если это было синхронно, то GM_xmlhttpRequest
просто возвратил бы детали ответа как обычная функция.
При ожидании запроса для возврата, код после вызова к GM_xmlhttpRequest
продолжает работать. Ваш сценарий правильно определяет это infiltrationResult
не определено, потому что запрос еще не завершился.
Если необходимо сделать, больше, чем просто присваивают переменную, когда запрос возвращается, то выполните в этом onload
обратный вызов.