I'm making a small chrome extension. Right now I'm checking for website language and trying to show that language in popup.html
but response function is not working and I'm unable to show language in popup. Any help?
popup.html
<!DOCTYPE html>
<html>
<head></head>
<body>
<h1>Popup</h1>
<script src="./scripts/popup.js"></script>
</body>
</html>
popup.js
chrome.runtime.sendMessage({type: "getLanguage"}, function(selectedLanguage) {
// This function is not working
if(typeof selectedLanguage == "undefined") {
} else {
console.log(selectedLanguage)
}
})
content-script.js // Content script
const pageLanguage = document.querySelector("html").getAttribute('lang');
const language = languages.find(lang => lang.code === pageLanguage); // languages is an array which have all language codes
chrome.runtime.sendMessage({type: 'setLanguage', language: language.name});
background.js
// Background script
// Example of Chrome API use:
chrome.tabs.onCreated = () => {
console.log('New tab opened');
}
chrome.runtime.onMessage.addListener(
function (message, sender, sendResponse) {
switch (message.type) {
case 'setLanguage':
lang = message.language;
break;
case 'getLanguage':
console.log(lang);
sendResponse(lang);
break;
default:
console.error("Unrecognised message: ");
}
}
)