Files
bytefy/bytefy.browser.extensions/Qr-Barcode.chrome/detect_ean_from_selection.js
2024-11-15 03:14:51 +01:00

30 lines
776 B
JavaScript

let lastIsEAN13 = false;
let lastIsEAN8 = false;
document.addEventListener("selectionchange", () => {
const selection = window.getSelection().toString().trim();
const isEAN13 = /^\d{12,13}$/.test(selection);
const isEAN8 = /^\d{7}$/.test(selection);
if (isEAN13 || isEAN8) {
if (isEAN13 !== lastIsEAN13 || isEAN8 !== lastIsEAN8) {
chrome.runtime.sendMessage({
type: "updateContextMenu",
isEAN13: isEAN13,
isEAN8: isEAN8
});
lastIsEAN13 = isEAN13;
lastIsEAN8 = isEAN8;
}
} else {
if (lastIsEAN13 || lastIsEAN8) {
chrome.runtime.sendMessage({
type: "updateContextMenu",
isEAN13: false,
isEAN8: false
});
lastIsEAN13 = false;
lastIsEAN8 = false;
}
}
});