/ / Витончена деградація API історії HTML5 - javascript, html5

Витончена деградація API HTML5 - javascript, html5

Я використовую вхідні дзвінки API API HTML5, і мені це відомо проблеми сумісності між веб-переглядачами, але в моєму конкретному випадку використання це не означаєматерія. Для моїх обмежених потреб браузери поводяться послідовно, а таблиця у наведеному вище посиланні розповідає ту саму історію. Тому я не хочу додати ще одну бібліотеку JS на сторінку (History.js), але я безумовно хочу, щоб вона виграшно не працювала в браузерах, які не підтримують їх. Я не хочу, щоб вони видавали JS помилки.

Наприклад, IE (і я думаю, що інші веб-переглядачі, які не підтримують) також видаляє цю помилку JS: Object doesn"t support property or method "replaceState"

Я спробував це зробити, але це не працює:

window.history = window.history || {};
if (jQuery.isEmptyObject(window.history)) {
window.history.prototype.replaceState = function(a,b,c) {};
window.history.prototype.pushState = function(a,b,c) {};
}

Відповіді:

2 для відповіді № 1

Перевірте, чи є pushState існує в об’єкті історії.

if( !(window.history && "pushState" in window.history) )