Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Listen for history events in FireFox?

From the context of a FireFox extension...

Is there some way to be notified of back/forward/goto/reload/etc. "History Events"? I'm not looking for a way to cancel or change them, just to be made aware of them.

My best solution thus far has been to hook into the UI elements responsible (menuitems and buttons) for triggering history navigation. This obviously doesn't work terribly well in the face of any but the most tightly controlled FireFox installations as all it takes is one extension doing:

gBrowser.webNavigation.goBack()

... to ruin my day, to say nothing of webpages themselves playing games with the history.

like image 430
Kevin Montrose Avatar asked Nov 05 '22 18:11

Kevin Montrose


1 Answers

You need to implement nsISHistoryListener and register your implementation as a session history listener for the <browser> you're interested in. Googling shows that people have done this already, so you should be able to find extensions that do this to copy their code.

like image 53
Nickolay Avatar answered Nov 12 '22 17:11

Nickolay