API Google Toolbar - Guide pour la fabrication de boutons personnalisés
introduction
Qu'est-ce qu'un bouton personnalisé?
Lorsque vous cliquez sur un bouton de recherche peut effectuer les tâches suivantes:
Un bouton personnalisé peut avoir les fonctionnalités d'interface utilisateur suivantes:
En plus des propriétés pour les fonctions d'interface utilisateur ci-dessus, un bouton personnalisé peut avoir les propriétés suivantes (enregistré dans un fichier XML) qui exécutent les tâches énumérées ci-dessus:
La barre d'outils ci-dessous présente des exemples de boutons personnalisés pour Slashdot, Wikipedia et BBC (souligné). Le bouton BBC est un flux de nouvelles avec une liste déroulante des titres (comme indiqué par la flèche vers le bas).
Ajout d'un bouton personnalisé
Pour ajouter ou gérer des boutons personnalisés sur la barre d'outils Google:
Comment faire des boutons personnalisés
Création automatique et ajout d'un bouton de recherche personnalisé
- Ouvrez Internet Explorer à la page de recherche que vous souhaitez créer un bouton de recherche.
Exemple: www.wikipedia.org
Résultat: Le bouton personnalisé est installé et immédiatement disponible.
Dans les coulisses, cette procédure crée un fichier XML bouton personnalisé avec une icône, et il enregistre sous un nom dans hashed:
C: \ Documents and Settings \ larry \ Local Settings \ Application Data \ Google \ boutons personnalisés \
Fichier XML bouton personnalisé
NOTE - Il est normal d'inclure les nouvelles lignes et des espaces partout dans les chaînes d'URL dans le fichier XML - la barre d'outils les dépouiller quand il interprète le fichier. Cela signifie que vous devez vous assurer que si votre URL nécessite des espaces (vous ne voulez pas les épiler), que vous les remplacer par « % 20 » (si le navigateur n'a pas déjà fait pour vous). Un grand nombre des exemples suivants montrent l'URL tapé sur deux lignes avec un saut de ligne au milieu de l'URL, qui fonctionne très bien. NOTE - Dans tous les exemples présentés dans ce guide, seule la partie du code XML à l'intérieur du
Création manuelle et installation d'un bouton personnalisé
Pour installer un bouton personnalisé à la barre d'outils Google:
C: \ Documents and Settings \ nom d'utilisateur \ Local Settings \ Application Data \ Google \ boutons personnalisés \ nom de fichier .xml
où le nom d'utilisateur est votre nom de connexion Windows et le nom est le nom de fichier que vous choisissez de donner le fichier XML.
Dans notre exemple Wikipedia, pour le nom de login « larry », enregistrez le fichier XML du bouton à:
C: \ Documents and Settings \ larry \ Local Settings \ Application Data \ Google \ boutons personnalisés \ wikipedia.xml
Ajout d'un titre Button et infobulle
Comme illustré ci-dessous, utilisez
Recherche personnalisée Bouton
NOTE - A
Bouton personnalisé pour Wikipedia Search
L'ajout de cet élément de recherche au bouton précédent, nous obtenons:
Notez que l'esperluette () dans l'URL est échappé comme « -AMP; ». Les chaînes dans des fichiers XML doivent esperluette (), moins que (<) and greater-than (>) Caractères se sont échappés.
Bouton personnalisé pour la recherche Google
Voici un exemple:
Recherche Slashdot
Envoyer Recherche d'action comme POST
Le moteur de recherche oignon
Cet exemple utilise une méthode de poste pour envoyer postdata (en surbrillance):
Mise à jour d'un bouton personnalisé
L'URL de téléchargement que vous utilisez pour héberger le fichier XML pour le bouton devient ID unique du bouton pour mettre à jour le bouton. Si une seconde tentative de télécharger un bouton de la même URL, la barre d'outils offrira seulement pour remplacer l'ancien, pas ajouter un nouveau.
Sur les cinq façons d'ajouter un bouton. les première et dernière façons savent automatiquement les mises à jour où les boutons doivent provenir, et tout
Options du bouton
Le titre d'option est requise. La valeur par défaut et la description ne sont pas. Utilisez la variable à l'intérieur de toute spécification de modèle d'URL pour insérer le texte de l'utilisateur.
Il n'y a pas valider ou parage des espaces de l'entrée à ce moment, et la variable échappera quel que soit l'utilisateur a tapé dans l'utilisation charset encodage (utf-8) et le paramètre de cgi échapper, tout comme une boîte d'édition de texte sur un formulaire soumettre le ferait.
Y compris l'URL actuelle
Cet exemple utilise pour envoyer l'URL actuelle à Archive.org pour rechercher une ancienne version de la page en cours - archive.org nécessite l'URL non échappée:
L'exemple suivant fera la même recherche de archive.org mais en utilisant.
Y compris le domaine Google Suffixe
Vous devez utiliser la variable au lieu de coder en dur la chaîne de domaine. Ainsi, une recherche Google devrait vraiment être écrit:
Envoi d'un texte sélectionné de l'utilisateur
Cette opération nécessite la
Boutons personnalisés avec les opérations d'envoi seront également apparaître dans le menu contextuel de la souris bouton du navigateur lorsque le texte est sélectionné.
Test Si une variable existe ou non
Plus simplement, il permet à l'auteur d'un bouton personnalisé avancé pour utiliser en toute sécurité une nouvelle fonctionnalité, et pour permettre la compatibilité avec les anciens parseurs qui ne connaissent pas la nouvelle fonctionnalité. Par exemple, prétendre que la variable vient d'être présenté. Un modèle d'URL comme celui-ci pourrait être utilisé pour vous assurer qu'il n'a eu aucun effet sur les barres d'outils anciens:
Si la barre d'outils prend en charge la variable, ce élargirait à:
Vous pouvez entrer des expressions nid jusqu'à 10 niveaux de profondeur aussi longtemps que l'imbrication se produit après le « ? ». C'est acceptable:
Il convient également de noter que chaque fois une évasion est utilisé non reconnu, l'analyseur remplacera une chaîne vide. Alors Bonjour tout le monde. va juste sortir comme Bonjour tout le monde. Et s'il y a un nombre non équilibré d'accolade « » caractères, ou tout autre problème d'analyse syntaxique, l'URL complète sera simplement se réinitialisée à une chaîne vide.
Comment faire Séduisant icônes
Voici une icône Gmail en base64 - utiliser un
icônes personnalisées peuvent être plus grand que 16x16, mais la barre d'outils les redimensionne jusqu'à 16x16, donc en plus d'être plus grande que nécessaire, ils ne regarderont pas presque aussi bon que si vous les mis à l'échelle en utilisant un éditeur d'image de haute qualité.
Les meilleures icônes à la recherche sont ceux qui sont fabriqués à l'aide de 24 bits de couleur (RVB) et 8 bits d'alpha, et enregistré sous forme d'icônes RGBA de style XP. Vous pouvez enregistrer l'icône au format PNG 16x16 avec transparence alpha, puis convertir en un XP style icône 16x16 (en utilisant un programme comme IconWorkshop), puis base64 encode que. Les fichiers PNG ne sont pas pris en charge directement depuis Windows ne prend pas en charge en mode natif des fichiers PNG sans lier dans beaucoup de choses supplémentaires.
La raison pour laquelle vous devez utiliser un canal alpha est pas parce que la couleur d'arrière-plan de la barre d'outils tout le monde va être le même gris, argent ou beige que le vôtre est réglé. Windows XP permet aux utilisateurs de personnaliser leur palette de couleurs, y compris les milieux de la barre d'outils. Vous pouvez contourner ce problème en faisant une icône carrée qui n'a pas de parties transparentes, mais ils ne semblent pas aussi intéressant. couleur unique canaux alpha, comme des images GIF, auront des bords extérieurs arrondis granuleuses prospectifs par rapport à une icône alpha-mélangé correctement construit, comme celles sur la barre d'outils Google ou Internet Explorer lui-même.
Mise à jour automatique des icônes et les info-bulles
L'une des choses les plus intéressantes sur un bouton personnalisé peut faire est de mettre à jour sa propre image de bouton et infobulle d'un serveur distant à des intervalles spécifiques. Il utilise un flux RSS pour faire la mise à jour. Cela permet à un bouton à utiliser comme un dispositif de notification, ou comme une icône d'état (par exemple, le temps, ou tout ce que vous pouvez imaginer). Un bouton peut également avoir un menu déroulant avec des éléments individuels avec du texte ou des icônes. Chaque élément de menu peut avoir sa propre URL dynamique pour lancer quand on clique dessus. Des exemples sont donnés dans la section suivante.
Ajout d'un flux RSS
RSS utiliser la
Le protocole pour l'obtention de ces flux est mise à jour soit Atom 1.0, Atom 0.3, 2.0 RSS, RSS ou 1,0. alimentations standard travaillent habituellement.
Pour mettre à jour l'icône dans la barre d'outils, ou sa description infobulle, à partir d'un flux, vous devez ajouter une extension spécifique à la barre d'outils RSS ou ATOM en utilisant un espace de noms. Voici un exemple d'un bouton de bague d'humeur qui tire d'une charge:
Notez qu'il spécifie le menu = « false » pour indiquer que cette alimentation est utilisée uniquement pour mettre à jour l'icône et l'info-bulle, de ne pas remplir un menu déroulant de sous-éléments.
Si cela a été mis en place sur un serveur réel, la sortie d'alimentation ressemblerait à ceci:
L'exemple ci-dessus est un flux Atom 1.0, avec l'espace de noms des boutons personnalisés Google spécifié comme:
Pour remplacer l'info-bulle qui est venu avec le bouton, spécifiez:
Pour remplacer l'icône qui est venu avec le bouton, specifiy:
Le script PHP qui alimente ce système d'analyse « humeur » complexe ressemble à:
Les icônes doivent être dans le même dossier que le script.
L'utilisation d'un flux de mise à jour des boutons et des icônes de menu Dropdown
Vous pouvez également ajouter des icônes à base de serveur personnalisés aux éléments individuels dans le menu déroulant d'alimentation. Voici un exemple d'un bouton météo qui a une alimentation avec un menu déroulant (par défaut), mais spécifie également rafraîchissement menuitem = « false » pour masquer l'élément de menu de rafraîchissement tout moment une connexion réussie au serveur. Cela donne un aspect plus propre.
Vous pouvez afficher une petite quantité de texte d'état à côté du titre d'un bouton de la barre d'outils en utilisant une extension d'espace de noms spécifique barre d'outils pour RSS ou ATOM. Si l'utilisateur a le texte du bouton désactivé, le texte d'état affichera toujours à côté du bouton. Voici un exemple d'un flux de messagerie qui affiche le nombre d'éléments non lus à côté du titre du bouton:
Vous pouvez alerter l'utilisateur d'un événement en utilisant une extension d'espace de noms spécifique barre d'outils pour RSS ou ATOM. L'alerte se met à clignoter l'icône du bouton et afficher une info-bulle sous l'icône. Si la barre d'outils n'est pas la fenêtre de premier plan, il se met à clignoter la barre de titre du navigateur. Voici un exemple d'un notificateur de calendrier qui avertit un utilisateur d'une prochaine réunion:
Si le titre d'un élément d'alimentation contient tous --- caractères, un séparateur de menu sera utilisé à la place d'un élément de menu cliquable.
Boutons personnalisés peuvent maintenant ouvrir un gadget en place d'un menu déroulant. Le gadget peut être tout nouveau ou existant Google gadget universel, mais inline gadgets iGoogle ou gadgets Google Desktop ne sont pas pris en charge. Le gadget ne doit pas être dans la galerie ou hébergé sur un serveur Google pour le gadget pour travailler à l'intérieur d'un bouton personnalisé, mais il n'a pas besoin d'être publiquement visible de l'Internet.
Par exemple, supposons que vous voulez un bouton qui indique l'heure et la date. Dans la nouvelle API de bouton, vous pouvez ajouter un lien vers un gadget de date. Un mini-fenêtre gadget ouvrira lorsque l'utilisateur clique sur la flèche déroulante:
Le modèle de bouton de la barre d'outils permet de spécifier la largeur initiale et la hauteur de la fenêtre du gadget attributs sur la
Un gadget de barre d'outils peut mettre à jour dynamiquement la hauteur de la fenêtre en utilisant l'API dynamique de la hauteur.
Gadget Url:
Ajouter ce gadget universel à ma barre d'outils
gadgets barre d'outils peuvent mettre à jour leurs propres préférences dynamiquement en utilisant l'API SetPrefs. Gadget préférences sont enregistrés entre les sessions. Ils seront également synchronisés à d'autres barres d'outils si la synchronisation de la barre d'outils est activée.
Et il y a encore une chose. Si est réglé tout-menu déroulant true, les boutons peuvent effectuer une recherche ou envoyer des opérations à l'aide de gadgets! Voir la section suivante.
Si un gadget a tout-menu déroulant défini sur true, il est admissible à effectuer la recherche ou envoyer des actions en utilisant le gadget lui-même. Par exemple, supposons que vous vouliez un bouton qui ouvrirait un gadget google map basé sur une adresse que l'utilisateur a sélectionné sur la page ou saisie dans la zone de requête:
Pour garder les gadgets cohérents, nous vous recommandons d'utiliser le nom de préférence gadget réservé de rawquery lors de l'utilisation de la requête ou SelectedText lors de l'utilisation de la sélection.
Pour garder les gadgets cohérents, nous vous recommandons d'utiliser le nom de préférence gadget réservé de PAGE_URL lorsque vous utilisez l'URL complète, ou page_host quand vient le nom d'hôte est nécessaire.
Cet exemple montre l'ensemble de la communication entre un gadget et un bouton de la barre d'outils en même temps. Soit dit en passant, une autre façon de créer un bouton pour accéder directement à l'éditeur de bouton Avancé. coller votre source de bouton sur le dessus de l'échantillon, et enregistrer dans la barre d'outils.
Voici la source de bouton:
charset encodage
Génération d'une recherche personnalisée par un clic droit sur un formulaire ajoute automatiquement la valeur charset correcte à l'intérieur de l'élément du bouton généré.
Dans l'exemple suivant, le param sera étendu en utilisant EUC-jp au lieu de utf-8
Les valeurs charset ont parfois d'autres noms, et sont toujours insensibles à la casse. La liste complète des valeurs charset dépend des fenêtres clés de Registre sous HKEY_CLASSES_ROOT \ MIME \ Database \ charset. Ceux installés sur Windows XP incluent généralement:
Plusieurs langues
Un bouton personnalisé peut gérer d'autres URL, des icônes et du texte pour les environnements locaux de la barre d'outils spécifiques. Les deux façons de le faire sont énumérés ci-dessous - la première méthode est recommandée.
L'utilisation locale d'attributs
La méthode recommandée est de créer une liste de balises XML, utilisant chacun un attribut locale = « iso-name » avec l'iso-nom pour les paramètres régionaux d'intérêt. Voici un exemple d'un bouton avec alternance URL français et espagnol et descriptions:
Si les paramètres régionaux de la langue de la barre d'outils en cours ne peut être trouvée dans la balise XML directement, la première balise dans la liste ci-dessus est utilisée comme valeur par défaut.
variable en utilisant
Tableau ISO Locale
Les paramètres régionaux barre d'outils actuellement pris en charge sont les suivants:
Hébergement d'un bouton personnalisé
Où héberger votre bouton
Quelle URL de téléchargement que vous utilisez pour héberger le fichier XML pour le bouton est assez important, car cette URL devient identifiant unique du bouton pour mettre à jour le bouton. Si une seconde tentative de télécharger un bouton de la même URL, la barre d'outils offrira seulement pour remplacer l'ancien, pas ajouter un nouveau. Pour plus d'informations, voir Mise à jour d'un bouton personnalisé.
Ajout de votre bouton à la Galerie des boutons de Google
Ajouter votre touche à la Galerie des boutons de Google est une excellente façon de faire connaître au monde au sujet de votre nouveau bouton. Votre fichier XML doit déjà être hébergé quelque part (la Galerie des boutons reliera directement au fichier) et le bouton doit être conforme à nos consignes de rédaction.
Une fois que vous avez fait tout cela, remplissez le formulaire de soumission de la Galerie des boutons pour informer Google au sujet de votre bouton.
Un développeur peut créer un lien d'installation en utilisant la syntaxe URL suivante:
où les points d'URL du fichier XML bouton personnalisé. Par exemple, voici un lien qui installerait un bouton Slashdot.com:
l'étiquette de ce lien est Ajouter. Lorsqu'un utilisateur clique sur ce lien, le bouton Slashdot.com est installé dans leur barre d'outils Google.
L'URL Google est au-dessus essentiellement un élément déclencheur de la barre d'outils pour installer un bouton personnalisé. Si l'utilisateur ne dispose pas de version compatible de la barre d'outils, ils sont invités à l'installer. Une fois que la la barre d'outils a été installée, le bouton personnalisé sera automatiquement ajouté.
Gestion de votre alimentation trafic
Le trafic Web avec des aliments peut être une préoccupation. Un bouton ne doit pas pointer son alimentation vers un serveur à faible bande passante si vous avez des raisons de croire qu'il deviendra populaire et avoir du trafic lourd. Le serveur peut surchargé avec des demandes de rafraîchissement.
Le bouton personnalisé a son propre attribut de rafraîchissement intervalle pour les aliments. La barre d'outils rend hommage à la « Date d'expiration » temps que le serveur fournit dans l'en-tête HTTP. Ce paramètre remplace l'actualisation de l'intervalle du bouton. Si votre serveur est surchargé, vous pouvez augmenter le temps « Expires » pour réduire la charge. Par exemple, si un bouton est réglé pour rafraîchir chaque heure, la « Date d'expiration » temps peut être réglé pour rafraîchir tous les jours, ce qui réduirait considérablement le trafic (mais peut-être limiter la fraîcheur du bouton).
Voici un script PHP exemple pour définir le temps Expires une semaine après l'avenir:
Exemple réponse HTTP du serveur.
Référence XML
Un fichier XML bouton personnalisé a la structure suivante:
Les éléments XML suivants peuvent apparaître dans un
échapper caractères
Les chaînes dans des fichiers XML (et les fichiers HTML) ont besoin des trois caractères suivants se sont échappés que les entités HTML montrées: