Подтвердить что ты не робот

API истории HTML5 в Chrome iOS

В целях тестирования я хочу заполнить историю несколькими записями. Точнее, я хочу добавить элементы X в тип отключения браузера браузера, так как даже если пользователь нажимает X раз, он останется на одной странице.

Я делаю это следующим образом:

(function (){
   for (var x = 0; x < 10; x++) {
     history.pushState(null, document.title, location.pathname);    
   }        
}());

Поэтому, когда страница загружается, в историю вносятся 10 элементов текущей страницы. Этот подход работает во всех браузерах, поддерживающих API истории , кроме Chrome на iOS!!!

Используя приведенный выше код, Chrome на iOS (от 7 до 10) делает некоторые действительно странные вещи:

  • Он заменяет заголовок на вкладке URL-адресом текущей страницы (поэтому вместо того, чтобы показывать "мою большую веб-страницу" в заголовке вкладки, отображается "mygreatpage.com/samplepage1"
  • долгое нажатие кнопки "Назад", чтобы проверить записи, Chrome не показывает никаких дополнительных добавленных записей - каждый другой браузер показывает 10 дополнительных записей, как указано в коде выше.

Safari и каждый другой браузер iOS делают то, что я хочу. Что я делаю неправильно?

4b9b3361

Ответ 1

Для chrome в iOS native history.pushState переопределяется дополнительным расширением, если вы alert(history.pushState) видите, что это не собственный код, как мы видим в других браузерах

см. ниже, полиполки могут вам помочь,