Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вызов window.history.replaceState или window.history.pushState (https://javascript.ru/forum/misc/60042-vyzov-window-history-replacestate-ili-window-history-pushstate.html)

kodemak 08.12.2015 19:39

Вызов 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
Что я делаю не так?


Часовой пояс GMT +3, время: 12:20.