This article needs to beupdated. Please help update this article to reflect recent events or newly available information.(February 2019)
Abrowser toolbar is atoolbar that resides within abrowser's window. Allmajor web browsers provide support to browser toolbar development as a way to extend the browser'sGUI andfunctionality. Browser toolbars are considered to be a particular kind ofbrowser extension which presents a toolbar. Browser toolbars are specific to each browser, which means that a toolbar working on one browser will not work on another one. All browser toolbars must be installed in the corresponding browser before they can be used and require updates when new versions are released.
Many high-profile browser toolbars released over the years have been fraught with problems, either from intentionalmalware, from injectedcomputer viruses or due to poor or conflicting programming when considering multiple toolbars being included on a single browser.
During the 2000s, there was a proliferation of browser add-ons produced and released by a variety of software companies, both large and small, which were designed to extend the browsing experience for theend user. Due to this popularity, and the ease with which users could have these installed, there was additionally an adoption bymalware,adware, and other privacy-invasive tracking tools. The popularity of browser toolbars has since declined.[1][2]
Many unscrupulous companies usesoftware bundling to force users downloading one program to also install a browser toolbar, some of which invade the user's privacy by tracking their web history and search history online. Many antivirus companies refer to these programs asgrayware orpotentially unwanted programs (PUPs).[3][4][5][6]
The programming language and development tools behind a browser toolbar vary from one browser to another.
InInternet Explorer5 or later, toolbars may be created asbrowser extensions written inC# orC++. More specifically, it is possible to create up to three different kinds of toolbars (custom explorer bars, tool bands and desk bands[7]) and to combine them withbrowser helper objects in order to provide added functionality.
InFirefox, toolbars can be created asadd-ons that contribute to theGUI by extending the browser withXUL (support for XUL was removed in Firefox version 57). The logic behind the toolbar is written inJavaScript running under expanded privileges.[8] Mozilla Jetpack[9] can be used to simplify the development of add-ons for Firefox.
InSafari 5 or later[10] toolbars can be created as extensions[11] that add bars[12] and buttons.[13] The logic behind the toolbar is written inJavaScript with access to a special JavaScript API[14] to interact with the Safari application and web content.
InGoogle Chrome 4 or later,[15] toolbars can be created as extensions[16] that add browser actions[17] to the browser window. The logic behind the toolbar is written inJavaScript with access to a special JavaScript API[18] to interact with the Chrome application and web content. The privileges under which a Chrome extension runs are governed by a set of permissions.[19]
InOpera 11 or later,[20] toolbars can be created as extensions[21] that add buttons[22] to the browser window. The logic behind the toolbar is written inJavaScript with access to a special JavaScript API[23] to interact with the Opera application and web content.
In Firefox, Chrome, Safari and Opera toolbar styling is done thoughCSS.
Some major browsers (Internet Explorer and Firefox) enable the creation of native toolbars i.e., toolbars which are directly inserted in the browser window. Examples of native toolbars are Google Toolbar[24] andStumbleupon Toolbar.[25] Native toolbars use browser-specific code to create the same toolbar for each different browser version.
Some toolbar developers use a different approach and make the browser extension inject aJavaScript file in every web page visited by the user. All major browsers support injected toolbars. The code in this file inserts the toolbar as a part of theDOM in every web page. Injected toolbars use essentially the same JavaScript code to draw the toolbar for each different browser version.
Each approach has advantages and disadvantages for the different stakeholders.
From the user's perspective:
Native toolbars present faster load times, since injected toolbars must wait for theDOM to be created in order to insert the toolbar in it.
Injected toolbars require less frequent updates because part of their code is dynamically downloaded in the JavaScript file that draws the toolbar.
From the developer's perspective:
Injected toolbars allow for shorter development times since theJavaScript code that creates the toolbar may be written once for all browsers.
Injected toolbars allow for an easier toolbar update policy, since changes that are made in the injected JavaScript code do not require releasing a new toolbar version.
From the toolbar owner's perspective:
Injected toolbars consume requests to download the JavaScript code that inserts the toolbar in every page, while native toolbars consume no such requests.
Another way to simplify the task of developing a toolbar for different browsers is to rely on a cross-browser extension development framework. Some of the most important frameworks are listed below:
Toolbar Studio supports IE, Firefox. This is an IDE that allows developers to develop toolbars via a visual editor.
Neobars[26] supports Chrome, Firefox, IE,Safari andOpera. This is an online web constructor for cross-browser extensions. Multiple widgets like Weather, RSS,YouTube,Twitter and Facebook components are available. The platform is free to use.
Add-ons Framework supports IE, Firefox, Chrome, Safari, Opera. This SDK allows developers to build browser add-ons using a common JavaScript API.
Kynetx[27] supports IE, Firefox, Safari, and Chrome, but extensions produced by Kynetx are dependent on the Kynetx extension to work. In addition, Kynetx apps are built using a proprietary Kynetx Rules Language. There is no cost to use the Kynetx platform.
CrossRider[28] supports IE, Firefox, Chrome and Safari. CrossRider isJavaScript andjQuery-based. Crossrider also provides an auto-update mechanism for code and analytics for developers to track usage of products. Crossrider has launched an online real-time IDE for developing cross browser extensions without the need to download an SDK. It is free to use.
KangoExtensions[29] supports IE, Firefox, Chrome, Safari and Opera. Kango is only free for open-source non-profitable projects.
Conduit[30] supports IE, Firefox, Safari, and Chrome. It allows website owners to create site-specific toolbars to simplify site navigation. As it is site-specific, it lacks the flexibility of other development frameworks in this list. Conduit is free to use.
Widdit's toolbar[31] supports IE, Firefox, Safari, and Chrome. The Widdit platform allows publishers to create a free toolbar using adrag and drop online wizard. Through the admin, publishers can add or remove applications and features in real time and share the toolbar with different communities.
ExtensionMaker[32] supports Firefox, Opera and Chrome. The Extension Maker is a desktop-based tool for creating browser extensions using a drag-and-drop interface.
Most of the larger toolbar providers have a toolbar uninstaller or directions for how to remove their toolbars.[33][34][35] This process varies by browser type, version, OS, and toolbar provider.
Some toolbar providers do not give detailed instructions on how to remove their toolbars. Many 2nd tier providers and software bundled browser toolbars can be difficult to remove without a 3rd party toolbar removal utility.[36]
Most of the frameworks listed here are now defunct or inactive as of the mid-2020s, due to the widespread adoption of the standardized WebExtension API across major browsers.