fand ich die folgende Lösung:
- eine Manifest-Datei Einrichten eines Content-Skript zu definieren, die auf jeder Seite hinzugefügt wird, und eine separate Hintergrundseite.
- Fügen Sie in der Datei "Content Script .js" einen Ereignis-Listener für das Ereignis "copy" entweder für das Dokument oder das Fenster hinzu. Dieser Ereignis-Listener wird aufgerufen, wenn der Benutzer eine Kopieraktion einleitet.
- Da Inhaltsskripts in einer Sicherheits-Sandbox vorhanden sind (z. B. keine Cross-Site-XMLHttpRequests), möchten wir wahrscheinlich auf der Hintergrundseite auf das Ereignis reagieren. Verwenden Sie dazu die Chrome Message Passing API, um eine Nachricht an die Hintergrundseite zu senden.
ein kleines Arbeitsbeispiel:
manifest.json
{
"background_page": "background.html",
"content_scripts": [
{
"matches": ["http://*/*"],
"js": ["oncopy.js"]
}
]
}
oncopy.js
// on copy event, send a message to background.html
function onCopy(e) {
chrome.extension.sendRequest({event: "copy"});
}
//register event listener for copy events on document
document.addEventListener('copy',onCopy,true);
background.html
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse) {
if (request.event == "copy") {
alert("copy detected");
}
sendResponse({});
});
Danke, das ist ein guter Start für die Erkennung von Kopiervorgängen, die über Tastaturkürzel ausgeführt werden. Ich brauche wahrscheinlich einen anderen Mechanismus, um das Menü Bearbeiten-> Aufrufe kopieren außerhalb von Javascript zu erkennen. – bjoern