52 lines
2.5 KiB
JavaScript
52 lines
2.5 KiB
JavaScript
browser.runtime.onMessage.addListener((message) => {
|
|
if (message.type === "MY_GET_URL_R") {
|
|
window.postMessage(message);
|
|
} else if (message.type === "GET_DATA_FROM_PAGE") {
|
|
// Parse things for linkedin
|
|
if (window.location.host.includes("linkedin")) {
|
|
if (window.location.host.includes("merchantpool1")) {
|
|
return;
|
|
}
|
|
const jobTitle = document.querySelector('h1').textContent;
|
|
const company = document.querySelector('.relative a[target="_self"]').textContent;
|
|
const money = document.querySelector('ul li div div div li-icon[type="job"]')?.parentNode?.parentNode?.parentNode?.parentNode?.children[1]?.children[0]?.textContent?.replaceAll(/\s{2,}/g, '') ?? '';
|
|
const description = document.querySelector('article').textContent;
|
|
|
|
browser.runtime.sendMessage({ type: "GOT_INFO_R", company, jobTitle, money, description });
|
|
return;
|
|
}
|
|
// Ignore everything that is no glassdoor
|
|
if (!window.location.host.includes("glassdoor")) return;
|
|
const company = document.querySelector('header[data-test="job-details-header"]')
|
|
.children[0].children[0].querySelector("h4").innerHTML;
|
|
const jobTitle = document
|
|
.querySelector('header[data-test="job-details-header"]')
|
|
.querySelector("h1").innerHTML;
|
|
|
|
const description = [...document.querySelector('header[data-test="job-details-header"]').parentNode.querySelectorAll('button')].filter(a => a.textContent == "Show more")[0]?.parentNode?.parentNode?.textContent;
|
|
|
|
let money = ""
|
|
|
|
const moneySectionNode = document.querySelector('section>section');
|
|
if (moneySectionNode && ["Base pay range", "Base pay"].includes(moneySectionNode.querySelector('h2').textContent)) {
|
|
money = moneySectionNode.querySelector("div>div>div").children[1]?.textContent ?? ''
|
|
}
|
|
|
|
browser.runtime.sendMessage({ type: "GOT_INFO_R", company, jobTitle, money, description });
|
|
} else if (message.type === "GOT_INFO_R") {
|
|
window.postMessage(message);
|
|
}
|
|
});
|
|
|
|
window.addEventListener("message", (e) => {
|
|
if (e.data.type === "MY_GET_URL") {
|
|
browser.runtime.sendMessage({ type: "MY_GET_URL" });
|
|
} else if (e.data.type === "HAS_EXTENSION_Q") {
|
|
window.postMessage({ type: "HAS_EXTENSION" });
|
|
} else if (e.data.type === "REGISTER_INTEREST") {
|
|
browser.runtime.sendMessage({ type: "REGISTER_INTEREST" });
|
|
} else if (e.data.type === "R_GET_DATA_FROM_PAGE") {
|
|
browser.runtime.sendMessage({ type: "R_GET_DATA_FROM_PAGE" });
|
|
}
|
|
});
|