Показать сообщение отдельно
  #1 (permalink)  
Старый 08.12.2015, 19:39
Интересующийся
Отправить личное сообщение для kodemak Посмотреть профиль Найти все сообщения от kodemak
 
Регистрация: 16.04.2011
Сообщений: 11

Вызов window.history.replaceState или window.history.pushState
Нужно написать функцию, которая в зависимости от переданного в нее параметра, создает запись в истории или перезаписывает последнюю.

Было бы здорово если не пришлось бы дублировать строку ...(getOption(), getTitle(), getURL()) , так, как она на самом деле довольно длинная.
Вот несколько вариантов реализации

function add(replace){
    var method = (replace ? window.history.replaceState : window.history.pushState).bind(window.history)
    method(getOption(), getTitle(), getURL());
}

function add(replace){
    (replace ? window.history.replaceState : window.history.pushState)(getOption(), getTitle(), getURL());
}
//


Но к сожалению не одна из них не работает
выдают ошибки
Код:
Failed to execute 'pushState' on 'History': An object could not be cloned.
Код:
TypeError: Illegal invocation
Что я делаю не так?
Ответить с цитированием