J'injecte le code suivant dans une page Web via une extension greasemonkey script/opera pour intercepter la commande history.pushState
, donc je peux faire un peu de traitement à chaque fois qu'il est déclenché et permettre pushState
commande de continuer après.Substituer history.pushState conduit à une erreur dans l'opéra 11
(function(history){
var pushState = history.pushState;
history.pushState = function(state) {
if (typeof history.onpushstate == "function") {
history.onpushstate({state: state});
}
alert('pushstate called')
return pushState.apply(history, arguments);
}
})(window.history);
le code fonctionne très bien dans FF4 et Chrome, mais dans Opera 11, je reçois l'erreur suivante, si la page appelle une commande history.replaceState
:
Uncaught exception: TypeError: 'window.history.replaceState' is not a function
Est-ce que quelqu'un sait comment je peux résoudre la code ci-dessus pour travailler avec Opera ainsi que Chrome et Firefox?
ressource cool, ne l'avait pas rencontré avant – user280109