Interacción con el navegador
1. Marcador
Use el módulo Chrome.BookMarks para crear, organizar y administrar marcadores. Consulte las páginas de anulación para crear una página de Administrador de marcadores personalizable.
1.1. Configuración en manifest.json
{"Nombre": "Mi extensión", ... "Permisos": ["Marcadores"], ...}Objetos y propiedades:
Los letreros se organizan en una estructura de árbol, y cada nodo es un marcador o un grupo de nodos (cada carpeta de marcadores puede contener múltiples nodos). Cada nodo corresponde a un objeto BookmarkTeNeDe.
Las propiedades de BookmarkTreeNode se pueden usar a través de la API Chrome.BookMarks.
ejemplo:
Creó una carpeta de marcadores titulada "Extension Bookmarks".
chrome.bookmarks.create ({'ParentId': BookmarkBar.id, 'Title': 'Extension Bookmarks'}, function (NewFolder) {Console.log ("Carpeta agregada:" + Newfolder.title);});Creó un marcador para el documento de desarrollo extendido.
chrome.bookmarks.create ({'ParentId': ExtensionsFolderId, 'Title': 'Extensions doc', 'url': 'http://code.google.com/chrome/extensions'});2. Cookies
2.1. Configuración en manifest.json
{"Nombre": "My Extension", ... "Permisos": ["Cookies", "*: //*.google.com"], ...}3. Herramientas para desarrolladores
Los siguientes módulos API proporcionan algunas interfaces a las herramientas de desarrollador para permitirle extender las herramientas de desarrollador.
(1) DevTools.EnspectedWindow
(2) devitools.network
(3) devitools.panels
3.1. Configuración en manifest.json
{"Nombre": ... "Versión": "1.0", "Minimum_chrome_version": "10.0", "devTools_Page": "devTools.html", ...}4. Eventos
El evento es un objeto que le notifica cuando ocurre algo que le preocupa. Aquí hay un ejemplo de usar Chrome.tabs.encreated Event, y el objeto de evento se notifica cada vez que se crea una nueva etiqueta:
chrome.tabs.oncreated.addListener (function (tab) {appendtolog ('tabs.oncreated -' + 'ventana:' + tab.windowid + 'tab:' + tab.id + 'index:' + tab.index + 'url:' + tab.url);});Puede llamar a los siguientes métodos de cualquier objeto de evento:
void addListener (function Callback (...))) Void RemoVeListener (Function Callback (...)) Bool Haslistener (Function Callback (...)))
5. Historia de navegación
El módulo Chorme.history se utiliza para interactuar con los registros de página accedidos por el navegador. Puede agregar, eliminar y consultar el historial del navegador.
5.1. Configuración en manifest.json
{"Nombre": "Mi extensión", ... "Permisos": ["Historia"], ...}6. Gestión de enchufe-in
El módulo Chrome.Management proporciona una forma de administrar extensiones o aplicaciones instaladas y en ejecución. Especialmente útil para reescribir extensiones que son nuevas pestañas incorporadas.
Para usar esta API, debe autorizarla en el archivo de manifiesto Extension.
6.1. Configuración en manifest.json
{"nombre": "mi extensión", ... "permisos": ["gestión"], ...}7. Etiquetas
El módulo de etiqueta Chrome se usa para interactuar con el sistema de etiqueta del navegador. Este módulo se utiliza para crear, modificar y reorganizar etiquetas en el navegador.
7.1. Configuración en manifest.json
{"Nombre": "Mi extensión", ... "Permisos": ["Tabs"], ...}8. Ventana
Use el módulo Chrome.Windows para interactuar con la ventana del navegador. Puede usar este módulo para crear, modificar y reorganizar ventanas en su navegador.
8.1. Configuración en manifest.json
{"Nombre": "Mi extensión", ... "Permisos": ["Tabs"], ...}Implementación de notificaciones
1. Dos formas de crear notificación:
// Nota: No hay necesidad de llamar a WebKitnotifications.CheckPermission (). // Las extensiones que declaran los permisos de notificaciones siempre permiten la creación de notificaciones. // Crear una notificación de texto simple: Var notificación = webkitnotifications.createNotification ('48 .png ', // El icono URL puede ser una ruta relativa' Hola! ', // contenido de títulos de notificación' (lorem ipsum ...) '// Texto del cuerpo de notificación); // o crear HTML Notificación: VAR Notificación = WebKitnotifications.CreatehtmlLoTification (((texto (Notificación de HTML: Notificación de VAR = WebKitnotifications.CreatehtmlLoTifications (((Notificación de HTML " 'Notificación.html' // La URL de HTML puede ser una ruta relativa); // luego muestre la notificación. notificación.show ();2. Cómo comunicarse con otras páginas:
// en una notificación ... chrome.extension.getBackgroundPage (). Dothing (); // Desde la página web de fondo ... chrome.extension.getViews ({type: "notificación"}). Foreach (function (win) {win.doothering ();});3. Ejemplo de notificación de tiempo
Creemos una notificación de tiempo, que aumenta los recordatorios de tiempo cada 10 segundos, y aparece un total de 10 veces.
3.1. manifest.json
{// Este campo se utilizará en el cuadro de diálogo de instalación, la interfaz de administración de extensiones y la tienda. El título de la notificación emergente es "Nombre": "Notificación del sistema", // La versión extendida está representada por uno a 4 números, separada por puntos, y debe ser entre 0 y 65535. Los números distintos de cero no pueden comenzar con "versión": "1", // una cadena que describe el tipo extendido (no puede ser HTML u otro formato, y no puede exceder 132 caracteres). Esta descripción debe ser apropiada tanto para la interfaz de administración de la extensión del navegador como para la tienda web de Chrome. "Descripción": "Muestra las notificaciones de escritorio, que son /" Toast /"Windows que aparecen en el escritorio.", // uno o más iconos para representar extensiones, aplicaciones y patinadas "iconos": {"16": "16.png", // El icono web FA de la aplicación "48": "48.png", // La página de gestión de la aplicación requiere esta página de icon ": requiere esta página de icon" 128 ": "128.png" // use al instalar el almacén web}, // un conjunto de permisos que la extensión o la aplicación usará "permisos": ["Tabs", "notificaciones"], // manifestar v2 reemplaza background_page con el atributo de fondo // aquí es un script de javaScript "fondo": {"secretos": ["background.js"]}, // ha sido un script de JavaScript. en Chrome 18, y debe especificarse como 2 "Manifest_version": 2, // Manifest_version 2. Especifique la ruta de recursos que se puede usar en la página web en el paquete de extensión (en relación con el directorio raíz del paquete de extensión) que debe usarse para blanquear los recursos. El script de contenido insertado en sí mismo no necesita ser la lista blanca "Web_ACcessible_Resources": ["48.png"]}3.2. fondo.js
/** * Mostrar una notificación de tiempo */function show () {var time = new Date (). Format ('yyyyy-mm-dd hh: mm: ss'); // Cree una notificación var notificación = window.webkitnotifications.createnotification ('48 .png ', // imagen, agregue' la hora actual en web_accessible_resources: ', // title time // body.); // Show notification notification.show();}// Format the time function Date.prototype.format = function(format){ var o = { "M+" : this.getMonth()+1, //month "d+" : this.getDate(), //day "h+" : this.getHours(), //hour "m+" : this.getMinutes(), //minute "s+" : this.getSeconds (), // segundo "Q+": Math.floor ((this.getMonth ()+3)/3), // Quarter "S": this.getMilliseConds () // MilliseCond} if (/((y+)/. Test (format)) format = format.replace (Regexp. $ 1, (this.gettyfulentfletyear (). Regexp. $ 1.length)); for (var k en o) if (nuevo regexp ("("+ k+ ")"). test (format)) format = format.replace (regexp. $ 1, regexp. $ 1.length == 1? o [k]: ("00"+ o [k]). Sustr (("+ o [k]). Longitud)); Formato de retorno;} // Prueba si el navegador admite WebKitnotificationsif (Window.webkitnotifications) {// show notifications show (); intervalo var = 0; // Pop-Up 10 veces VAR Times = 10; // Crear temporizador var timer = setInterval (function () {interval ++; // pop-up una vez en 10 segundos if (10 <= interval) {show (); interval = 0; tiempos--; if (Times <-0) ClearInterval (temporizador);}, 1000);}código fuente
https://github.com/artinkething/google-plugins/tree/master/example/notifications