Вопрос по history.pushState

[Удален]
577

Проблема следующая. В Яндекс браузере наличие функции history.pushState замедляет выполнение функции примерно на секунду.

примерно такой код


function()
{
document.getElementById('products').style.opacity = '0.3';
history.pushState(null, null, newurl);
}

Во всех браузерах функция выполняется мгновенно, а в ЯБ с задержкой в секунду.

Вопрос: можно ли сделать так, чтобы первая строка выполнилась сразу, не дожидаясь выполнения второй строки с функцией history.pushState ? Чтобы не было ощущения подтормаживания

LEOnidUKG
На сайте с 25.11.2006
Offline
1767
#1
В Яндекс браузере наличие функции

Если в хроме всё отлично, значит пусть разработчики ЯБ пилят обновление и исправляют свои косяки.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
siv1987
На сайте с 02.04.2009
Offline
427
#2
Emotion_schemer:
Вопрос: можно ли сделать так, чтобы первая строка выполнилась сразу, не дожидаясь выполнения второй строки с функцией history.pushState

По логике какбы интерпретатор выполняет код последовательно.

[Удален]
#3
siv1987:
По логике какбы интерпретатор выполняет код последовательно.

Я тоже так думал, судя по всему так оно и есть, но не в я ЯБ в этом случае.

В хроме задержки нет. В FF, Opera и IE тоже все круто. только ЯБ.

---------- Добавлено 21.10.2014 в 22:01 ----------

Почистил историю и все начало летать. (ЯБ - основной браузер). Проблема на компе значит. Хотя сам факт задержки выполнения первой строки из-за длительности выполнения второй не понятен

Оптимизайка
На сайте с 11.03.2012
Offline
396
#4

Чтобы шпионскому браузеру вашу историю передать "куда следует" нужно время :D

Попробуйте setTimeout(function() { history.pushState(null, null, newurl); }, 1);

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
[Удален]
#5
Оптимизайка:
Чтобы вашу историю передать "куда следует" нужно время :D

Попробуйте setTimeout(function() { history.pushState(null, null, newurl); }, 1);

Прокатило!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий