diff --git a/drivers/bookmarklet/json b/drivers/bookmarklet/json
index c84e7a223..2f90c2238 100644
--- a/drivers/bookmarklet/json
+++ b/drivers/bookmarklet/json
@@ -329,13 +329,8 @@
"implies": [ "node.js" ]
},
"Contao": {
-<<<<<<< HEAD
"cats": [ 1 ],
- "html": "(|]+(typolight|contao)\\.css)",
->>>>>>> 64745b6d507c0e1ee95f2e8a4a09b6be7448aee5
"implies": [ "PHP" ]
},
"Contenido": {
diff --git a/drivers/chrome/apps.json b/drivers/chrome/apps.json
index c84e7a223..2f90c2238 100644
--- a/drivers/chrome/apps.json
+++ b/drivers/chrome/apps.json
@@ -329,13 +329,8 @@
"implies": [ "node.js" ]
},
"Contao": {
-<<<<<<< HEAD
"cats": [ 1 ],
- "html": "(|]+(typolight|contao)\\.css)",
->>>>>>> 64745b6d507c0e1ee95f2e8a4a09b6be7448aee5
"implies": [ "PHP" ]
},
"Contenido": {
diff --git a/drivers/chrome/manifest.json b/drivers/chrome/manifest.json
index 6f81b46e7..1bcf8a69b 100644
--- a/drivers/chrome/manifest.json
+++ b/drivers/chrome/manifest.json
@@ -1,7 +1,7 @@
{ "name": "Wappalyzer",
"homepage_url": "http://wappalyzer.com?utm_source=chrome&utm_medium=extension&utm_campaign=extensions",
"description": "Identifies software on the web",
- "version": "2.15",
+ "version": "2.16",
"default_locale": "en",
"manifest_version": 2,
"icons": {
diff --git a/drivers/firefox-jetpack/data/apps.json b/drivers/firefox-jetpack/data/apps.json
index c84e7a223..2f90c2238 100644
--- a/drivers/firefox-jetpack/data/apps.json
+++ b/drivers/firefox-jetpack/data/apps.json
@@ -329,13 +329,8 @@
"implies": [ "node.js" ]
},
"Contao": {
-<<<<<<< HEAD
"cats": [ 1 ],
- "html": "(|]+(typolight|contao)\\.css)",
->>>>>>> 64745b6d507c0e1ee95f2e8a4a09b6be7448aee5
"implies": [ "PHP" ]
},
"Contenido": {
diff --git a/drivers/firefox/content/apps.json b/drivers/firefox/content/apps.json
index c84e7a223..2f90c2238 100644
--- a/drivers/firefox/content/apps.json
+++ b/drivers/firefox/content/apps.json
@@ -329,13 +329,8 @@
"implies": [ "node.js" ]
},
"Contao": {
-<<<<<<< HEAD
"cats": [ 1 ],
- "html": "(|]+(typolight|contao)\\.css)",
->>>>>>> 64745b6d507c0e1ee95f2e8a4a09b6be7448aee5
"implies": [ "PHP" ]
},
"Contenido": {
diff --git a/drivers/firefox/content/js/driver.js b/drivers/firefox/content/js/driver.js
index 7cb50fab1..23fe2e638 100644
--- a/drivers/firefox/content/js/driver.js
+++ b/drivers/firefox/content/js/driver.js
@@ -7,9 +7,10 @@
if ( wappalyzer == null ) return;
- var w = wappalyzer, prefs, strings, $;
+ var w = wappalyzer, prefs, strings;
const
+ d = document,
Cc = Components.classes,
Ci = Components.interfaces
;
@@ -35,7 +36,7 @@
w.log('w.driver: browser window loaded');
- strings = document.getElementById('wappalyzer-strings');
+ strings = d.getElementById('wappalyzer-strings');
// Read apps.json
var xhr = Cc['@mozilla.org/xmlextras/xmlhttprequest;1'].createInstance(Ci.nsIXMLHttpRequest);
@@ -54,13 +55,6 @@
xhr.send(null);
AddonManager.getAddonByID('wappalyzer@crunchlabz.com', function(addon) {
- // Load jQuery
- Cc['@mozilla.org/moz/jssubscript-loader;1'].getService(Ci.mozIJSSubScriptLoader).loadSubScript('chrome://wappalyzer/content/js/lib/jquery.min.js');
-
- $ = jQuery;
-
- jQuery.noConflict(true);
-
// Preferences
prefs = Cc['@mozilla.org/preferences-service;1'].getService(Ci.nsIPrefService).getBranch('extensions.wappalyzer.');
@@ -141,7 +135,15 @@
* Display apps
*/
displayApps: function() {
- var menuItem, menuSeparator, image, url = gBrowser.currentURI.spec.split('#')[0];
+ var
+ i, j, elements, menuItem, menuSeparator, image,
+ remove = [],
+ container = d.getElementById('wappalyzer-container'),
+ menu = d.getElementById('wappalyzer-menu'),
+ url = gBrowser.currentURI.spec.split('#')[0]
+ ;
+
+ if ( !container ) { return; }
if ( w.detected[url] != null && w.detected[url].length ) {
// No change
@@ -150,14 +152,25 @@
if ( w.driver.lastDisplayed === 'empty' ) { return; }
}
- // Do not combine these, for some reason it causes the "remove bookmark" button text to disappear
- $('#wappalyzer-container > image' ).attr('class', 'wappalyzer-remove');
- $('#wappalyzer-menu > menuitem' ).attr('class', 'wappalyzer-remove');
- $('#wappalyzer-menu > menuseparator').attr('class', 'wappalyzer-remove');
+ elements = {
+ images: container.getElementsByTagName('image'),
+ menuItems: menu .getElementsByTagName('menuitem'),
+ menuSeparators: menu .getElementsByTagName('menuseparator')
+ };
+
+ for ( i in elements ) {
+ for ( j = elements[i].length - 1; j >= 0; j -- ) {
+ remove.push(elements[i][j]);
+ }
+ }
if ( w.detected[url] != null && w.detected[url].length ) {
if ( !prefs.getBoolPref('showIcons') ) {
- $('').attr('src', 'chrome://wappalyzer/skin/images/icon_hot.png').prependTo(document.getElementById('wappalyzer-container'));
+ image = d.createElement('image');
+
+ image.setAttribute('src', 'chrome://wappalyzer/skin/images/icon_hot.png');
+
+ container.appendChild(image);
}
w.detected[url].map(function(app, i) {
@@ -171,38 +184,45 @@
} catch(e) { }
if ( showCat ) {
- $('').appendTo(document.getElementById('wappalyzer-menu'));
-
- $('#wappalyzer-menu')
- .append($('