Interaktion mit dem Browser
1. Lesezeichen
Verwenden Sie das Chrome.bookmarks -Modul, um Lesezeichen zu erstellen, zu organisieren und zu verwalten. Siehe Überschreibungsseiten, um eine anpassbare Seite mit Lesezeichen -Manager zu erstellen.
1.1. Konfiguration in Manifest.json
{"Name": "Meine Erweiterung", ... "Berechtigungen": ["Lesezeichen"], ...}Objekte und Eigenschaften:
Die Zeichen werden in einer Baumstruktur organisiert, und jeder Knoten ist ein Lesezeichen oder eine Gruppe von Knoten (jeder Lesezeichenordner kann mehrere Knoten enthalten). Jeder Knoten entspricht einem Lesezeichen -Objekt.
Die Eigenschaften des Lesezeichens können über die Chrome.Bookmarks -API verwendet werden.
Beispiel:
Erstellte einen Lesezeichenordner mit dem Titel "Erweiterungs -Lesezeichen".
chrome.bookmarks.create ({'parentId': bookmarkbar.id, 'title': 'erweiterung bookmarks'}, function (newfolder) {console.log ("ordner hinzugefügt:" + newFolder.title);});Erstellt ein Lesezeichen für das erweiterte Entwicklungsdokument.
chrome.bookmarks.create ({'parentId': extensionsFolderId, 'title': 'extensions doc', 'url': 'http://code.google.com/chrome/extensions'});2. Kekse
2.1. Konfiguration in Manifest.json
{"Name": "Meine Erweiterung", ... "Berechtigungen": ["Cookies", "*: //*.google.com"], ...}3. Entwicklerwerkzeuge
Die folgenden API -Module bieten Entwickler -Tools einige Schnittstellen, mit denen Sie Entwickler -Tools erweitern können.
(1) Devtools.InworeweswWindow
(2) Devtools.network
(3) devtools.panels
3.1. Konfiguration in Manifest.json
{"Name": ... "Version": "1.0", "minimum_chrome_version": "10.0", "devtools_page": "devtools.html", ...}4. Ereignisse
Das Ereignis ist ein Objekt, das Sie benachrichtigt, wenn etwas, über das Sie sich Sorgen machen, passiert. Hier ist ein Beispiel für die Verwendung von chrome.tabs.oncreated -Ereignis, und das Ereignisobjekt wird benachrichtigt, wenn ein neues Tag erstellt wird:
chrome.tabs.oncreated.addListener (function (tab) {appendTolog ('tab.oncreated -' + 'Fenster:' + tab.windowid + 'tab:' + tab.id + 'Index:' + tab.index + 'url:' + tab.url);});Sie können die folgenden Methoden eines jeden Ereignisobjekts aufrufen:
void addierenerer (Funktionsrückruf (...)) void removelistener (Funktionsrückruf (...)) bool hasListener (Funktionsrückruf (...)))
5. Durchsuchen der Geschichte
Das Chorme.History -Modul wird verwendet, um mit Seitenaufzeichnungen zu interagieren, die vom Browser zugegriffen werden. Sie können die Browserverlauf hinzufügen, löschen und abfragen.
5.1. Konfiguration in Manifest.json
{"Name": "Meine Erweiterung", ... "Berechtigungen": ["Geschichte"], ...}6. Plug-in-Management
Das Chrome.Management -Modul bietet eine Möglichkeit, installierte und ausgeführte Erweiterungen oder Anwendungen zu verwalten. Besonders nützlich, um Erweiterungen neu zu schreiben, die neue Registerkarten integriert haben.
Um diese API zu verwenden, müssen Sie sie in der Erweiterungsmanifestdatei autorisieren.
6.1. Konfiguration in Manifest.json
{"Name": "Meine Erweiterung", ... "Berechtigungen": ["Management"], ...}7. Tags
Das Chrom -Tag -Modul wird verwendet, um mit dem Tag -Tag -System des Browsers zu interagieren. Dieses Modul wird verwendet, um Tags im Browser zu erstellen, zu modifizieren und neu zu ordnen.
7.1. Konfiguration in Manifest.json
{"Name": "Meine Erweiterung", ... "Berechtigungen": ["Registerkarten"], ...}8. Fenster
Verwenden Sie das Modul von Chrome.Windows, um mit dem Browserfenster zu interagieren. Sie können dieses Modul verwenden, um Fenster in Ihrem Browser zu erstellen, zu ändern und neu zu ordnen.
8.1. Konfiguration in Manifest.json
{"Name": "Meine Erweiterung", ... "Berechtigungen": ["Registerkarten"], ...}Implementierung von Benachrichtigungen
1. zwei Möglichkeiten, Benachrichtigungen zu erstellen:
// HINWEIS: Es ist nicht erforderlich, Webkitnotifications.CheckPermission () anzurufen. // Erweiterungen, die Benachrichtigungsberechtigungen deklarieren, ermöglichen die Erstellung von Benachrichtigungen immer. // Erstellen Sie eine einfache Textbenachrichtigung: var meldification = webkitnotifications.createNotification ('48 .png ', // Die Icon -URL kann ein relativer Pfad sein' Hallo! ', // Benachrichtigungstitel' Inhalt (lorem ipsum ...) '// Benachrichtigungskörpertext); // oder erstellen html Notification: var Notification = webkitnotifications.creatmtmlynotification: var notification = webkitnotifications.creatmlyfrictification: var Notification = webkitnotifications.creatmlyfrictification (var Notification = webkitnotifications.creatmlycification: craatmlynotification: var Notification = webkitnotifications.creatmlyfrictifikation 'meldification.html' // Die URL von HTML kann ein relativer Pfad sein); // Anschließend die Benachrichtigung anzeigen. Benachrichtigung.show ();2. wie man mit anderen Seiten kommuniziert:
// In einer Benachrichtigung ... Chrome.Extension.getbackgroundPage (). Dothing (); // von der Hintergrund -Webseite ... Chrome.Extension.getViews ({Typ: "Benachrichtigung"}).3. Beispiel für die Zeitbenachrichtigung
Lassen Sie uns eine Zeitbenachrichtigung erstellen, die die Zeit erinnert, die alle 10 Sekunden erinnert, und insgesamt zehnmal auftauchen.
3.1. Manifest.json
{// Dieses Feld wird im Dialogfeld Installation, der Schnittstelle zur Erweiterungsverwaltung und im Speicher verwendet. Der Titel der Pop-up-Benachrichtigung lautet "Name": "Systembenachrichtigung", // Die erweiterte Version wird durch ein bis 4 Zahlen dargestellt, die durch Punkte getrennt sein und zwischen 0 und 65535 sein müssen. Unzero-Nummern können nicht mit "Version" beginnen: "1", // eine Zeichenfolge, die den erweiterten Typ beschreibt (kann nicht mit HTML oder anderen Format-Format und anderen Format-Figuren sein). Diese Beschreibung muss sowohl für die Verwaltungsschnittstelle der Browser -Erweiterung als auch für den Chrome -Web Store geeignet sein. "Beschreibung": "zeigt Desktop -Benachrichtigungen, die /" Toast /"Fenster, die auf dem Desktop auftauchen." // Verwenden Sie bei der Installation des Webstore} // eine Reihe von Berechtigungen, dass die Erweiterung oder App "Berechtigungen" verwendet: ["Registerkarten", "Benachrichtigungen"], // Manifest V2 ersetzt Hintergrund_Page durch das Hintergrundattribut // Hier ist ein JavaScript -Skript "Hintergrund": {"Skripts". "Manifest_version": 2, // Manifest_version 2. Geben Sie den Ressourcenpfad an, der auf der Webseite im Erweiterungspaket (relativ zum Stammverzeichnis des Erweiterungspakets) verwendet werden kann, mit dem die Ressourcen der Whitelist verwendet werden müssen. Das eingefügte Inhaltskript selbst muss nicht auf Whitelisted "web_accessible_resources" sein: ["48.png"]}3.2. Hintergrund.js
/** * Zeigen Sie eine Zeitbenachrichtigung an */function show () {var time = new Date (). Format ('yyyy-mm-dd hh: mm: ss'); // Erstellen Sie eine Benachrichtigung var notification = window.webkitnotifications.createNotification ('48 .png ', // Bild fügen Sie die aktuelle Zeit in web_accessible_resources:', // Title Time // Body.) Hinzu; // Benachrichtigungsbenachrichtigung anzeigen.show ();} // Format das Zeitfunktionsdatum. this.getSeconds (), // Second "q+": math.floor ((this.getMonth ()+3)/3), // viertel "s": this.getMilliseconds () // Millisecond} if (/(y+)/. Test (format) format = format.replace (regexp. $ 1, $ 1, ($ 1, $ 1, $ 1, ($ 1, $ 1, ($ 1, (). Regexp. $ 1.länge)); für (var k in o) if (neuer regexp ("("+ k+ ")"). test (format)) format = format.replace (regexp. $ 1, regexp. $ 1.länge == 1? O [k]: ("00"+ o [k]). Rückgabeformat;} // Testen Sie, ob der Browser Webkitnotificationssif (window.webkitnotifications) {// Benachrichtigungen show (); var intervall = 0; // 10-mal var Times = 10; // Timer var timer = setInterval (function () {intervall ++; // Pop-up einmal in 10 Sekunden if (10 <= intervall) {show (); intervall = 0; times-; if (Zeiten <-0) ClearInterval (Timer);}}, 1000);};Quellcode
https://github.com/artinkle/google-plugins/tree/master/example/notifications