document.addEventListener('DOMContentLoaded', function() {
var
slugify, popup,
d = document,
detectedApps = d.getElementById('detected-apps');
slugify = function(string) {
return string.toLowerCase().replace(/[^a-z0-9-]/g, '-').replace(/--+/g, '-').replace(/(?:^-|-$)/, '');
};
popup = {
init: function() {
var callback = function(tabs) {
if ( tabs[0].url.match(/https?:\/\//) ) {
detectedApps.innerHTML = '
' + browser.i18n.getMessage('noAppsDetected') + '
';
} else {
detectedApps.innerHTML = '' + browser.i18n.getMessage('nothingToDo') + '
';
}
};
try {
// Chrome, Firefox
browser.tabs.query({ active: true, currentWindow: true }).then(callback);
} catch ( e ) {
// Edge
browser.tabs.query({ active: true, currentWindow: true }, callback);
}
popup.displayApps();
},
displayApps: function() {
var appName, confidence, version;
var callback = function(tabs) {
function sendGetApps(response) {
if ( response.tabCache && response.tabCache.count > 0 ) {
detectedApps.innerHTML = '';
for ( appName in response.tabCache.appsDetected ) {
confidence = response.tabCache.appsDetected[appName].confidenceTotal;
version = response.tabCache.appsDetected[appName].version;
html =
'';
detectedApps.innerHTML = detectedApps.innerHTML + html;
}
}
}
if (typeof chrome === "undefined") {
browser.runtime.sendMessage({ id: 'get_apps', tab: tabs[0] }, sendGetApps);
} else {
chrome.runtime.sendMessage({ id: 'get_apps', tab: tabs[0] }, sendGetApps);
}
};
try {
// Chrome, Firefox
browser.tabs.query({ active: true, currentWindow: true }).then(callback);
} catch ( e ) {
// Edge
browser.tabs.query({ active: true, currentWindow: true }, callback);
}
}
};
popup.init();
});