Interaction avec le navigateur
1. Battre
Utilisez le module Chrome.Bookmarks pour créer, organiser et gérer les signets. Voir les pages de remplacement pour créer une page de gestion de signets personnalisable.
1.1. Configuration dans manifeste.json
{"Name": "My Extension", ... "Autorisations": ["Bookmarks"], ...}Objets et propriétés:
Les signes sont organisés dans une structure d'arbre, et chaque nœud est un signet ou un groupe de nœuds (chaque dossier de signets peut contenir plusieurs nœuds). Chaque nœud correspond à un objet BookmarkTreenode.
Les propriétés de BookmarkTreenode peuvent être utilisées via l'API Chrome.Bookmarks.
exemple:
A créé un dossier de signets intitulé "Bookmarks d'extension".
chrome.bookmarks.create ({'parentid': bookmarkbar.id, 'title': 'Extension Bookmarks'}, function (newfolder) {console.log ("dossier ajouté:" + newfolder.title);});A créé un signet du document de développement étendu.
chrome.bookmarks.create ({'parentid': extensionsfolderid, 'title': 'extensions doc', 'url': 'http://code.google.com/chrome/extensions'});2. Cookies
2.1. Configuration dans manifeste.json
{"Name": "My Extension", ... "Autorisations": ["cookies", "*: //*.google.com"], ...}3. Outils du développeur
Les modules API suivants fournissent des interfaces aux outils de développeur pour vous permettre d'étendre les outils du développeur.
(1) Devtools.inspectionwindow
(2) Devtools.network
(3) Devtools.Panels
3.1. Configuration dans manifeste.json
{"name": ... "version": "1.0", "minimum_chrome_version": "10.0", "devtools_page": "devtools.html", ...}4. Événements
L'événement est un objet qui vous informe lorsque quelque chose qui vous préoccupe se produit. Voici un exemple d'utilisation de Chrome.tabs.onnée survenue, et l'objet d'événement est informé chaque fois qu'une nouvelle balise est créée:
chrome.tabs.oncreated.addListener (fonction (tab) {appendtolog ('tabs.onCreated -' + 'fenêtre:' + tab.windowid + 'tab:' + tab.id + 'index:' + tab.index + 'url:' + tab.url);});Vous pouvez appeler les méthodes suivantes de tout objet d'événement:
void addListener (function rappel (...))) void reseListener (function callback (...)) bool hasListener (function callback (...))))
5. Histoire de la navigation
Le module Chorme.History est utilisé pour interagir avec les enregistrements de page accessibles par le navigateur. Vous pouvez ajouter, supprimer et interroger l'histoire du navigateur.
5.1. Configuration dans manifeste.json
{"Name": "My Extension", ... "Autorisations": ["History"], ...}6. Gestion du plug-in
Le module Chrome. Management fournit un moyen de gérer les extensions ou les applications installées et exécutées. Particulièrement utile pour la réécriture d'extensions qui sont de nouveaux onglets intégrés.
Pour utiliser cette API, vous devez l'autoriser dans le fichier de manifeste d'extension.
6.1. Configuration dans manifeste.json
{"Name": "My Extension", ... "Autorisations": ["Management"], ...}7. Tags
Le module de balise Chrome est utilisé pour interagir avec le système de balise du navigateur. Ce module est utilisé pour créer, modifier et réorganiser les balises dans le navigateur.
7.1. Configuration dans manifeste.json
{"Name": "My Extension", ... "Autorisations": ["Tabs"], ...}8. Fenêtre
Utilisez le module Chrome.Windows pour interagir avec la fenêtre du navigateur. Vous pouvez utiliser ce module pour créer, modifier et réorganiser les fenêtres dans votre navigateur.
8.1. Configuration dans manifeste.json
{"Name": "My Extension", ... "Autorisations": ["Tabs"], ...}Mise en œuvre des notifications
1. Deux façons de créer une notification:
// Remarque: il n'est pas nécessaire d'appeler webkitNotifications.CheckPermission (). // Les extensions qui déclarent les autorisations de notifications permettent toujours une création de notification. // Créer une notification de texte simple: notification var = webkitNotifications.CreateNotification ('48 .png ', // L'URL de l'icône peut être un chemin relatif «bonjour! 'notification.html' // L'URL de HTML peut être un chemin relatif); // affiche ensuite la notification. notification.show ();2. Comment communiquer avec d'autres pages:
// dans une notification ... chrome.extension.getBackgroundPage (). Dothing (); // de la page Web d'arrière-plan ... chrome.extension.getViews ({type: "notification"}). Foreach (function (win) {win.dootherthing ();});3. Exemple de notification temporelle
Créons une notification temporelle, qui apparaît des rappels de temps toutes les 10 secondes, et un total de 10 fois apparaît.
3.1. manifeste.json
{// Ce champ sera utilisé dans la boîte de dialogue d'installation, l'interface de gestion d'extension et le magasin. Le titre de la notification pop-up est "Nom": "Notification système", // La version étendue est représentée par un à 4 numéros, séparée par DOTS, et doit être entre 0 et 65535. Les numéros non nuls ne peuvent pas démarrer avec "version": "1", // une chaîne qui décrit le type étendu (ne peut pas être HTML ou autre format, et ne peut pas dépasser 132 caractères). Cette description doit être appropriée à la fois pour l'interface de gestion de l'extension du navigateur et le Chrome Web Store. "Description": "Affiche des notifications de bureau, qui sont /" Toast / "Windows qui apparaissent sur le bureau.", // Une ou plusieurs icônes pour représenter les extensions, les applications et les skins "icônes": {"16": "16.png", // L'icône FA de l'application "48": "48.png", // La page de gestion des applications nécessite cette image d'icien "128" ".". // Utiliser lors de l'installation de la webstore}, // un ensemble d'autorisations que l'extension ou l'application utilisera "Autorisations": ["Tabs", "Notifications"], // Manifest V2 remplace Background_Page par l'attribut de fond // Ici est un script javascrip être spécifié comme 2 "Manifest_version": 2, // Manifest_version 2. Spécifiez le chemin de ressource qui peut être utilisé dans la page Web dans le package d'extension (par rapport au répertoire racine du package d'extension) qui doit être utilisé pour la liste blanche des ressources. Le script de contenu inséré lui-même n'a pas besoin d'être liste à blanc "web_accessible_resources": ["48.png"]}3.2. fond.js
/ ** * Afficher une notification temporelle * / fonction show () {var time = new Date (). Format ('yyyy-mm-dd hh: mm: ss'); // Créer une notification de notification var = window.webkitNotifications.CreAreenotification ('48 .png ', // image, ajouter «l'heure actuelle dans web_accessible_resources:', // title time // body.); // Afficher la notification de notification.show ();} // Formater le temps de la fonction Date.prototype.format = fonction (format) {var o = {"m +": this.getmonth () + 1, // mois "d +": this.getDate (), // day "h +": this.gethours (), // heure "m +": this.getMinus this.getSeconds(), //second "q+" : Math.floor((this.getMonth()+3)/3), //quarter "S" : this.getMilliseconds() //millisecond } if(/(y+)/.test(format)) format=format.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - Regexp. 1.Lengle)); pour (var k in o) if (new regexp ("(" + k + ")"). test (format)) format = format.replace (regexp. $ 1, regexp. $ 1.length == 1? o [k]: ("00" + o [k]). substr (("" + o [k]). Longueur)); RETOUR FORMAT;} // Testez si le navigateur prend en charge WebKitNotificationsIF (Window.WebkitNotifications) {// Show Notifications Show (); intervalle var = 0; // pop-up 10 fois var fois = 10; // Create Timer var timer = setInterval (function () {interval ++; // pop-up une fois en 10 secondes if (10 <= interval) {show (); interval = 0; fois--; if (fois <- 0) clearInterval (tempor);}}, 1000);};code source
https://github.com/artink/google-plugins/tree/master/example/notifications