Hier ist die mögliche Lösung, ist nicht die beste, aber besser als nichts.
Es überwacht Text Zwischenablage für URLs, und wenn eine eingefügte URL die gleiche wie in der aktuellen Registerkarte ist - können wir berücksichtigen, dass es von Omnibox kopiert wurde.
background.js:
// create element for pasting
const textEl = document.createElement('textarea');
document.body.appendChild(textEl);
var prevPasted = '';
setInterval(function() {
// paste text from clipboard to focused textarea
textEl.focus();
textEl.value = '';
document.execCommand('paste');
const pastedText = textEl.value;
// simple cache check
if (pastedText !== prevPasted) {
prevPasted = pastedText;
if (pastedText.match(/https?:/)) { // you can improve you URL scheme
// get the current tab
chrome.tabs.query({active: true, currentWindow: true}, function (tabs) {
var tab = tabs[0];
// check if current tab has the same URL
if (tab.url === pastedText) {
console.log('Omnibox URL:', pastedText);
}
});
}
}
}, 500);
Vergessen Sie nicht Berechtigungen in den manifesten clipboardRead und Registerkarten hinzufügen.
Es gibt keine integrierte API. Sie können dafür jedoch ein eigenes natives Betriebssystemprogramm schreiben und über nativeMessaging mit der Erweiterung kommunizieren. – wOxxOm