|
|
|
An Extension
changes the way your application behaves in some way. IÕm going to talk
about Firefox Extensions here –these extensions change the way the
browser works in some way, either by doing something to adjust web page
content, or adjusting the browser UI to make certain tasks more efficient.
|
|
|
|
For any of
those reasons, the extension needs to ÒhookÓ its code into the browser
window somehow, and the easiest way is to use XUL overlays.
|
|
|
|
XUL overlays
allow other XUL documents to have their DOMs ÒmergedÓ into the DOM of
another XUL document (called the ÒmasterÓ). In the case of Firefox, the
ÒmasterÓ is the browser window XUL file – browser.xul. An extension
that adds a menu item would specify its menu item in an overlay in such a
way that it was merged into the appropriate menu in the Firefox window.
|
|
|
|
XUL Overlays
can also include <script> tags that load script files supplied by the
extension, which can add event handlers and interactivity to UI added using
the overlay merging system IÕve just described, make modifications to web
page content (like the Greasemonkey Extension, for example), and so on.
|
|
|