Interação com o navegador
1. Bookmark
Use o módulo Chrome.Bookmarks para criar, organizar e gerenciar os favoritos. Consulte as páginas de substituição para criar uma página de gerenciador de favoritos personalizáveis.
1.1. Configuração em manifest.json
{"Nome": "My Extension", ... "Permissões": ["marcadores"], ...}Objetos e propriedades:
Os sinais estão organizados em uma estrutura de árvore e cada nó é um marcador ou um grupo de nós (cada pasta de marcadores pode conter vários nós). Cada nó corresponde a um objeto BookmarkTreenode.
As propriedades do BookmarkTreenode podem ser usadas através da API Chrome.Bookmarks.
exemplo:
Criou uma pasta de marcadores intitulada "Rostness Bookmarks".
Chrome.Bookmarks.create ({'ParentId': Bookmarkbar.id, 'Title': 'Extension Bookmarks'}, function (newFolder) {console.log ("Adicionada pasta:" + newFolder.title);});Criou um marcador para o documento de desenvolvimento estendido.
Chrome.Bookmarks.create ({'ParentId': ExtensionsFolderId, 'Title': 'Extensions doc', 'url': 'http://code.google.com/chrome/extensions'});2 biscoitos
2.1. Configuração em manifest.json
{"Nome": "minha extensão", ... "Permissões": ["Cookies", "*: //*.google.com"], ...}3. Ferramentas de desenvolvedor
Os módulos de API a seguir fornecem algumas interfaces para as ferramentas de desenvolvedor para permitir que você estenda as ferramentas de desenvolvedor.
(1) devtools.inspeedwindow
(2) Devtools.network
(3) Devtools.Panels
3.1. Configuração em manifest.json
{"name": ... "versão": "1.0", "minimum_chrome_version": "10.0", "devtools_page": "devtools.html", ...}4. Eventos
Evento é um objeto que o notifica quando algo que você está preocupado acontece. Aqui está um exemplo de uso do evento Chrome.Tabs.Orcreated, e o objeto de evento é notificado sempre que uma nova tag é criada:
Chrome.tabs.OnCreated.addlistener (function (tab) {Appendtolog ('tabs.OnCreated -' + 'Window:' + tab.windowid + 'tab:' + tab.id + 'index:' + tab.index + 'url:' + tab.url);});Você pode chamar os seguintes métodos de qualquer objeto de evento:
Void AddListener (Função de chamada (...))) void removeListener (retorno de chamada da função (...)) bool hasListener (retorno de chamada da função (...)))
5. História da navegação
O módulo Chorme.History é usado para interagir com os registros de página acessados pelo navegador. Você pode adicionar, excluir e consultar a história do navegador.
5.1. Configuração em manifest.json
{"Nome": "Minha extensão", ... "Permissões": ["History"], ...}6. Gerenciamento de plug-in
O módulo Chrome.Management fornece uma maneira de gerenciar extensões ou aplicativos instalados e em execução. Especialmente útil para reescrever extensões que estão embutidas novas guias.
Para usar esta API, você deve autorizá -la no arquivo de manifesto de extensão.
6.1. Configuração em manifest.json
{"Nome": "Minha extensão", ... "Permissões": ["Gerenciamento"], ...}7. Tags
O módulo de tag Chrome é usado para interagir com o sistema de tags do navegador. Este módulo é usado para criar, modificar e reorganizar tags no navegador.
7.1. Configuração em manifest.json
{"Nome": "minha extensão", ... "Permissões": ["guias"], ...}8. Janela
Use o módulo Chrome.Windows para interagir com a janela do navegador. Você pode usar este módulo para criar, modificar e reorganizar janelas no seu navegador.
8.1. Configuração em manifest.json
{"Nome": "minha extensão", ... "Permissões": ["guias"], ...}Implementação de notificações
1. Duas maneiras de criar notificação:
// Nota: não há necessidade de ligar para o webkitNotificações.checkpermission (). // Extensões que declaram as permissões de notificações sempre permitem a criação de notificação. // Crie uma notificação simples de texto: var notificação = webkitNotificações.createnotification ('48 .png ', // O URL do ícone pode ser um caminho relativo' hello! ', // título de notificação' conteúdo (lorem ipsum ...) '// texto do corpo de notificação); // ou crie htmlatification: varenification = Webkitn = WebnTn) // texto do corpo de notificação); // ou crie htmilation: varsuminT = WebkitN = Webkitn)' // texto do corpo da Web); 'notification.html' // O URL do HTML pode ser um caminho relativo); // exibir a notificação. notificação.Show ();2. Como se comunicar com outras páginas:
// em uma notificação ... Chrome.extension.getbackgroundPage ().
3. Exemplo de notificação de tempo
Vamos criar uma notificação de tempo, que exibe lembretes de tempo a cada 10 segundos e um total de 10 vezes aparece.
3.1. manifest.json
{// Este campo será usado na caixa de diálogo de instalação, na interface de gerenciamento de extensão e na loja. O título da notificação pop-up é "Nome": "Notificação do Sistema", // A versão estendida é representada por um a 4 números, separados por pontos, e deve estar entre 0 e 65535. Os números diferentes de zero não podem começar com "versão": "1", // uma string que descreve o tipo estendido (não pode ser html ou outro formato, e exceto 132. Essa descrição deve ser apropriada para a interface de gerenciamento da Extensão do Navegador e a loja da Web Chrome. "Descrição": "mostra notificações fora da área de trabalho, que são /" Toast /"Windows que aparecem na área de trabalho". "128.png" // Use ao instalar a loja da web}, // um conjunto de permissões que a extensão ou aplicativo usará "permissões": ["guias", "notificações"], // manifesto v2 replica o background_page com o atributo em segundo plano // aqui está um script de javascript "Bordado": {"script": " No Chrome 18, e deve ser especificado como 2 "manifest_version": 2, // manifest_version 2. Especifique o caminho de recursos que podem ser usados na página da Web no pacote de extensão (em relação ao diretório raiz do pacote de extensão) que precisa ser usado para a lista de permissões. O script de conteúdo inserido em si não precisa estar em branco "web_accessible_resources": ["48.png"]}3.2. Background.js
/** * Mostre uma notificação de tempo */function show () {var time = new Date (). Formato ('aaa-mm-dd hh: mm: ss '); // Crie uma notificação var notification = window.webkitNotifications.createnotification ('48 .png ', // imagem, adicione' o horário atual em web_accessible_resources: ', // título horário // corpo.); // 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 () // milissegund} se (/(y+)/. Test (formato)). Regexp. $ 1.Length)); para (var k em o) if (novo regexp ("("+ k+ ")"). teste (formato)) formato = formato.Replace (regexp. $ 1, regexp. Retornar formato;} // Teste se o navegador suporta WebkitNotificações, var interval = 0; // pop-up 10 vezes var times = 10; // Crie o temporizador var timer = setInterval (function () {interval ++; // pop-up uma vez em 10 segundos se (10 <= interval) {show (); interval = 0; times--; if (horários <-0) clearInterval (timer);}}, 1000);}código -fonte
https://github.com/artinking/google-plugins/tree/master/example/notifications