Как я могу преодолеть это, или это невозможно? Как это в главе их сайтов. Код встраивания: < /p>
< /code>
Сценарий в самом SRC также имеет асинхронные вызовы, которые также могут занять время, такие как запросы DB. это также не должно быть разрешено занимать слишком много времени. Т.е. Скрипт должен: < /p>
- либо загружать, так и впрыскивать (например, стили, JS, все, что связано с A /B, которое влияет на то, как выглядит страница), прежде чем тело начнет загружаться; < /li>
или нет во всех < /li>
< /ul>
Я могу изменить код, и я могу изменить код. Атрибут (т.е. rack.ts), если это необходимо. < /p>
ai, по -видимому, предлагает либо: < /p>
Условие гонки между (1) браузером, загружающим SRC и (2) сам скрипт, завершающий по сравнению с (3) времени для 1 и 2; или < /li>
Асинхронный атрибут скрипта, который проверяет, не начал ли готовый участок загружать тело, прежде чем пытаться что -либо вставить; Он либо вставляет все, либо ничего не делает - Разговор AI: https://chatgpt.com/share/6834c11e-7260 ... 2439bba220
ai Разговор 2: https://chatgpt.com/share/6834CCF2-CE40 ... 2BB317312E
(async () => {
const API_URL = 'https://api.example.com';
const wid = 'some-website-uuid';
// Inject loading styles before body loads
const injectLoadingStyles = () => {
const style = document.createElement('style');
style.textContent = '.tracking-loading { background: #fff; }';
document.head.appendChild(style);
document.body?.classList.add('tracking-loading');
};
// Fetch whether user has test sessions remaining (async call)
const getHasTestSessionsRemaining = async () => {
const response = await fetch(`${API_URL}/tracking/has-test-sessions-remaining/${wid}`);
const data = await response.json();
return data.hasTestSessionsRemaining;
};
// Main logic
const initialise = async () => {
injectLoadingStyles();
const hasSessions = await getHasTestSessionsRemaining();
if (!hasSessions) {
console.log('No test sessions remaining.');
return;
}
// ...more logic, more API calls, etc also included (e.g., inject variant CSS/JS, track events)...
console.log('Tracking initialised!');
};
await initialise();
})();
Подробнее здесь: https://stackoverflow.com/questions/796 ... being-slow
Мобильная версия