Нужно написать функцию, которая в зависимости от переданного в нее параметра, создает запись в истории или перезаписывает последнюю.
Было бы здорово если не пришлось бы дублировать строку ...(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 |
Что я делаю не так?