![]() |
|
|
Hoofdpagina voor API Aan de slag met API Documentatie bij API Uw knop toevoegen aan de lijst Knoppenlijst |
Handleiding voor het maken van aangepaste knoppen voor Google Toolbar 4 voor Internet ExplorerIn dit document wordt beschreven hoe u aangepaste knoppen kunt maken. Aangepaste knoppen werken momenteel alleen in Internet Explorer.InhoudsopgaveWat is een aangepaste knop?Een aangepaste knop is een knop die u kunt toevoegen aan de Google Toolbar en die kan beschikken over aangepaste functies voor navigeren, zoeken, verzenden en bijwerken. Opmerkelijk is dat u met een aangepaste zoekknop vrijwel elke zoekmachine op elke willekeurige site kunt gebruiken, niet alleen die van Google. Met een zoekknop kunnen de volgende taken worden uitgevoerd:
Een aangepaste knop kan beschikken over de volgende functies voor de gebruikersinterface:
Naast de eigenschappen voor de bovenstaande functies voor de gebruikersinterface kan een aangepaste knop de volgende eigenschappen hebben (opgeslagen in een XML-bestand) waarmee de bovenstaande taken worden uitgevoerd:
De volgende toolbar bevat voorbeelden van aangepaste knoppen voor Slashdot, Wikipedia en BBC (gemarkeerd). De BBC-knop is een nieuwsfeed met een vervolgkeuzelijst (te herkennen aan de pijl-omlaag) met koppen.
Een aangepaste knop toevoegenAangepaste knoppen op de Google Toolbar toevoegen of beheren:
Een aangepaste zoekknop automatisch maken en toevoegen
Resultaat: de aangepaste knop wordt geïnstalleerd en kan meteen worden gebruikt. Wanneer u deze procedure gebruikt, wordt er achter de schermen een XML-bestand met een pictogram voor de aangepaste knop gemaakt. Dit bestand wordt opgeslagen met een hash-naam in:
Het voordeel van deze methode ten opzichte van een handmatig gemaakte zoekknop is dat de knop ook kan worden gebruikt voor websites waarop complexe POST-verzoeken of omleidingen worden gebruikt, waardoor de XML-bestand voor de aangepaste knop
De eigenschappen en het gedrag van een aangepaste knop worden gedefinieerd in een XML-bestand met het element
<?xml version="1.0" encoding="utf-8"?>
<custombuttons xmlns="http://toolbar.google.com/custombuttons/">
<button>
<site>http://www.wikipedia.org</site>
</button>
</custombuttons>
Opmerking: u kunt rustig nieuwe regels en spaties in de URL-reeks in het XML-bestand gebruiken. De toolbar verwijdert deze wanneer het bestand wordt geïnterpreteerd. Dit betekent dat u ervoor moet zorgen dat als uw URL spaties nodig heeft (die dus niet moeten worden verwijderd), u deze vervangt door '%20' (als de browser dit nog niet voor u heeft gedaan). In veel van de volgende voorbeelden is de URL op twee regels getypt met een nieuwe regel in het midden van de URL. Dit werkt uitstekend.
Opmerking: in de voorbeelden die in deze handleiding worden gebruikt, wordt alleen het gedeelte van de XML-code tussen de
Een aangepaste knop handmatig maken en installerenEen aangepaste knop op de Google Toolbar installeren:
Een knoptitel en knopinfo toevoegen
Zoals hieronder wordt weergegeven, kunt u een knoptitel toevoegen met
Gebruik
<?xml version="1.0" encoding="utf-8"?>
<custombuttons xmlns="http://toolbar.google.com/custombuttons/">
<button>
<site>http://www.wikipedia.org</site>
<title>Wikipedia</title>
<description>The Free Encyclopedia</description>
</button>
</custombuttons>
Aangepaste zoekknopMet de Google Toolbar kunt u ook een knop maken waarmee vrijwel elke zoekmachine van elke website kan worden uitgevoerd om de term te zoeken die de gebruiker in het zoekvak van de toolbar typt. De volgende twee voorbeelden behandelen een knop waarmee wikipedia.org wordt doorzocht met de Wikipedia-zoekmachine en een andere knop waarmee de zoekmachine van Google wordt gebruikt om te zoeken op het Internet.
Hiervoor voegt u een zoekelement Opmerking: het element Aangepaste zoekknop voor Wikipedia
Als u bijvoorbeeld een knop wilt maken waarmee wikipedia.com wordt doorzocht met de zoekmachine van Wikipedia, begint u met een eenvoudige Wikipedia-zoekopdracht, bijvoorbeeld 'hond':
<search>http://en.wikipedia.org/wiki/Special:Search?search=
Wanneer dit zoekelement aan de vorige knop wordt toegevoegd, ziet de code er als volgt uit:
<?xml version="1.0" encoding="utf-8"?>
<custombuttons xmlns="http://toolbar.google.com/custombuttons/">
<button>
<site>http://www.wikipedia.org</site>
<title>Wikipedia</title>
<description>The Free Encyclopedia</description>
<search>http://en.wikipedia.org/wiki/Special:Search?search=
De ampersand (&) in de URL ziet er met het escapeteken als volgt uit: ' Aangepaste zoekknop voor Google
Als u een knop wilt maken waarvoor de zoekmachine van Google wordt gebruikt om te zoeken op het Internet, begint u met een eenvoudige Google-zoekopdracht, bijvoorbeeld 'hond':
<search>http://www.google.com/search?q={query}</search>
Hier volgt een voorbeeld: Slashdot doorzoeken
<search>http://slashdot.org/search.pl?query={query}</search>
Zoekopdracht verzenden met de POST-methode
Als u een zoekopdracht via de POST- in plaats van de GET-methode wilt verzenden, voegt u het attribuut The Onion doorzoekenIn dit voorbeeld wordt de post-methode gebruikt om post-gegevens te verzenden (gemarkeerd): <search method="post">http://www.theonion.com/content/search/node ?edit%5Bkeys%5D={query}</search> Een aangepaste knop bijwerkenDe download-URL die u gebruikt om het XML-bestand voor de knop te hosten, wordt de unieke id voor het bijwerken van de knop. Als er een tweede poging wordt ondernomen om de knop vanaf dezelfde URL te downloaden, wordt u gevraagd of de oude knop moet worden vervangen en niet of een nieuwe knop moet worden toegevoegd.
Van de vijf manieren voor het toevoegen van een knop wordt bij de eerste en laatste manier automatisch vastgesteld waar de knopupdates vandaan moeten komen en wordt een eventuele <update>http://buttons.com/updated_button.xml</update> Knopopties
Een knop kan een lokaal gedefinieerde optiereeks specificeren met de tag
<?xml version="1.0" encoding="utf-8"?>
<custombuttons xmlns="http://toolbar.google.com/custombuttons/">
<button>
<title>Weather</title>
<option>
<title>Zip code</title>
<description>Enter a US zip code. For example, 94043 is Mountain View, CA</description>
<default>94043</default>
</option>
<site>http://www.google.com/search?q=weather+{option1}</site>
</button>
</custombuttons>
De optietitel is verplicht. De standaard waarde en beschrijving zijn niet verplicht. Gebruik de variabele {option1} in een URL-sjabloon om de tekst van de gebruiker in te voegen. U kunt de invoer op dit moment niet controleren of de witruimte van de invoer verwijderen en met de variabele {option1} wordt alles wat de gebruiker typt, gecodeerd met utf-8- en cgi-parameters, net als een tekstbewerkingsvak wanneer er een formulier wordt verzonden. De huidige URL toevoegen
Naast het verzenden van de zoekopdracht kunt u de huidige URL die in de browser wordt weergegeven, op drie manieren opgeven:
In dit voorbeeld wordt
<site>http://web.archive.org/web/*/
In het volgende voorbeeld wordt dezelfde zoekopdracht uitgevoerd binnen archive.org, maar dan met
<site method="post">http://www.archive.org/searchresults.php?search=
Als u de zoekmachine van Google wilt gebruiken om binnen de huidige website te zoeken, gebruikt u
<search>http://www.google.com/search?q=site:
De Google-domeinsuffix toevoegen
Google Toolbar gebruikt de variabele
U moet de variabele
<search>http://www.google.
Door de gebruiker geselecteerde tekst verzendenU kunt ook een aangepaste knop maken waarmee een stuk platte tekst kan worden verstuurd dat door de gebruiker op de webpagina is geselecteerd. Dit kan met name handig zijn voor een vertaalservice, of voor een blog- of berichtenprogramma. Er wordt een klein tekstpictogram weergegeven op de aangepaste knop wanneer er tekst is geselecteerd.
Voor deze bewerking is het element
<send>http://www.google.com/search?hl=en&lr=&q=define%3A+
Wanneer er tekst is geselecteerd, worden aangepaste knoppen met verzendfuncties ook weergegeven in het snelmenu dat wordt weergegeven als met de rechtermuisknop in de browser wordt geklikt. Testen op het bestaan van een variabele
Naarmate de toolbar zich ontwikkelt, worden er mogelijk meer URL-variabelen geïmplementeerd. Om ervoor te zorgen dat deze nieuwe variabelen zowel neerwaarts als opwaarts compatibel zijn, is in alle parsers die geschikt zijn voor knoppen, de {param_to_be_tested?use this text if the param is implemented:use this text if not}
Eenvoudig gezegd wordt de auteur van een geavanceerde aangepaste knop in staat gesteld om veilig een nieuwe functie te gebruiken die ook neerwaarts compatibel is met oudere parsers die deze nieuwe functie niet kennen. Stel dat de variabele {locale} net is geïntroduceerd. Een URL-sjabloon als de volgende kan worden gebruikt om ervoor te zorgen dat dit geen gevolgen heeft voor oudere toolbars: <site>http://www.google.com/{locale??hl={locale}}</site>
Als de toolbar de variabele {locale} ondersteunt, wordt de volgende code toegepast: <site>http://www.google.com/?hl=en</site> En als dit niet het geval is: <site>http://www.google.com/</site>
U kunt <site>http://www.google.com/{locale??hl={domain?{domain}:{query}}}</site>
Houd er wel rekening mee dat telkens als er een escape-teken wordt gebruikt dat niet wordt herkend, de parser deze vervangt door een lege tekenreeks. Dus Hell{blah}o World. wordt weergegeven als Hello World. En als er een oneven aantal accolades '{' of '}' wordt gebruikt of als er een ander parseerprobleem optreedt, wordt de hele URL vervangen door een lege tekenreeks. Professionele pictogrammen makenDe meeste pictogrammen die als favicons worden gebruikt, kunnen ook als pictogram voor een aangepaste knop worden gebruikt. Voorbeelden hiervan zijn BMP-, ICO-, GIF- en JPEG-afbeeldingen van 16 x 16 pixels. U hoeft ze alleen naar ASCII-tekst te coderen met base64-codering. Er zijn verschillende sites op het Internet die de codering voor u kunnen uitvoeren, zoals deze site. Op deze site gebruikt u de knop 'Browse' (Bladeren) om het bestand te selecteren dat u wilt coderen. Vervolgens klikt u op de knop 'Convert the source data' (De brongegevens converteren) om het coderen te starten. Javascript en PHP gebruiken ook enkelvoudige opdrachtregels voor base64-codering.
Hier ziet u een Gmail-pictogram in base64. Hiervoor gebruikt u het element
<icon mode="base64" type="image/x-icon">
AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ONr/ODja/6en+f+np/n/p6f5/6en+f+np/n/p6f5
/6en+f+np/n/p6f5/6en+f+np/n/p6f5/zg42v84ONr/ODja/zg42v/i4v//////////////////
/////////////////////////////////////+Li//84ONr/ODja/zg42v84ONr/p6f5/+Li////
/////////////////////////////////////////+Li//+np/n/ODja/zg42v84ONr/ODja/+Li
//+np/n/4uL/////////////gYHy/4GB8v///////////+Li//+np/n/4uL//zg42v84ONr/ODja
/zg42v//////4uL//6en+f+2tv//gYHy/1pa6f9aWun/gYHy/7a2//+np/n/4uL///////84ONr/
ODja/zg42v84ONr///////////+2tv//gYHy/1pa6f84ONr/ODja/1pa6f+BgfL/trb/////////
////ODja/zg42v84ONr/ODja////////////gYHy/1pa6f84ONr/trb//7a2//84ONr/Wlrp/4GB
8v///////////zg42v84ONr/ODja/zg42v//////gYHy/1pa6f84ONr/trb/////////////trb/
/zg42v9aWun/gYHy//////84ONr/ODja/zg42v84ONr/gYHy/1pa6f84ONr/trb/////////////
//////////+2tv//ODja/1pa6f+BgfL/ODja/zg42v84ONr/ODja/zg42v84ONr/trb/////////
/////////////////////////7a2//84ONr/ODja/zg42v84ONr/ODja/zg42v84ONr/gYHy/6en
+f+np/n/p6f5/6en+f+np/n/p6f5/6en+f+np/n/gYHy/zg42v84ONr/ODja/wAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAA//8AAP//AAD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAD//wAA//8AAA==
</icon>
Pictogrammen voor aangepaste knoppen kunnen groter zijn dan 16 x 16 pixels, maar de toolbar verkleint ze tot 16 x 16 pixels. Ze zijn dus niet alleen groter dan noodzakelijk, maar ze zien er ook lang niet zo mooi uit als wanneer u ze schaalt met een goed beeldbewerkingsprogramma. De mooiste pictogrammen zijn gemaakt met 24-bits kleuren (RGB) en 8-bits alfa en zijn opgeslagen als RGBA-pictogrammen in XP-stijl. U kunt een pictogram opslaan als PNG-bestand van 16 x 16 pixels met alfa-transparantie, het bestand vervolgens converteren naar een pictogram van 16 x 16 pixels in XP-stijl (met een programma als IconWorkshop) en dit pictogram vervolgens coderen met base64. Aangezien Windows geen PNG-bestanden ondersteunt zonder dat er extra gegevens aan dergelijke bestanden worden gekoppeld, worden PNG-bestanden niet rechtstreeks ondersteund. U moet een alfa-kanaal gebruiken omdat niet iedereen dezelfde grijze, zilveren of beige achtergrond voor de toolbar gebruikt als u. Windows XP stelt gebruikers in staat het kleurenschema aan te passen, inclusief de achtergrond van een toolbar. U kunt dit omzeilen door een vierkant pictogram zonder transparante onderdelen te maken, maar deze zien er minder mooi uit. Alfa-kanalen met één kleur hebben, net als GIF-afbeeldingen, korrelige ronde randen in vergelijking met goed opgebouwde pictogrammen met alfa-menging zoals die op de Google Toolbar of in Internet Explorer. Pictogrammen en knopinfo automatisch bijwerkenEén van de interessantere dingen die u met een aangepaste knop kunt doen, is vanaf een externe server met een bepaald interval het pictogram en de knopinfo voor de knop zelf bijwerken. Voor het bijwerken wordt een RSS-feed gebruikt. Zo kan de knop worden gebruikt als waarschuwingsmiddel of als statuspictogram (bijvoorbeeld voor het weer of wat u maar kunt bedenken). Een knop kan ook een vervolgkeuzelijst hebben met afzonderlijke items met tekst of pictogrammen. Voor elk menu-item kan een eigen dynamische URL worden gebruikt om de bijbehorende webpagina te openen. Voorbeelden hiervan vindt u in het volgende gedeelte. Een RSS-feed toevoegen
RSS-feeds maken gebruik van het element <feed refresh-interval="1800">http://rss.cnn.com/rss/cnn_topstories.rss</feed> Het protocol voor het ophalen van deze updatefeeds is Atom 1.0, Atom 0.3, RSS 2.0 of RSS 1.0. Standaard feeds werken normaal gesproken prima. Een feed gebruiken voor het bijwerken van het knoppictogram/de knopinfoAls u het pictogram op de toolbar of de knopinfo wilt bijwerken via een feed, moet u met een naamruimte een toolbarspecifieke extensie aan RSS of ATOM toevoegen. Hier volgt een voorbeeld van een knop met een moodring die wordt bijgewerkt via een feed: <?xml version="1.0" encoding="utf-8"?>
<custombuttons xmlns="http://toolbar.google.com/custombuttons/">
<button>
<title>Mood ring</title>
<description>Your virtual mood ring</description>
<site>http://www.google.com/search?q=mood+ring</site>
<feed menu="false" refresh-interval="900">
http://www.example.com/custombuttons/samples/feeds/mood</feed>
</button>
</custombuttons>
Met Als dit was ingesteld op een echte server, zou de feeduitvoer er als volgt uitzien: <?xml version='1.0'?>
<feed xmlns='http://www.w3.org/2005/Atom'
xmlns:gtb='http://toolbar.google.com/custombuttons/'>
<id>http://www.example.com/custombuttons/samples/feeds/mood</id>
<title>Mood</title>
<link href='http://www.google.com/search?q=+ring' />
<link rel='self'
href='http://www.example.com/custombuttons/samples/feeds/mood' />
<gtb:description>Bluegreen:
Inner emotions charged, somewhat relaxed</gtb:description>
<gtb:icon mode="base64" type="image/x-icon">
AAAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAwAAAAMAA
AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAA
AAAAAAAAAAAGAAAAHAAAAEAAAABhAAAAcwAAAHQAAABpAAAAVQAAAD4AAAApAAAAGAAAAAoAAAAD
AAAAAQAAAAAAAAAAAAAAESZIXl4zdJvAXbHS8m3C3f9LnrrLFUtsmwILEX4AAABzAAAAYQAAAEcA
AAAqAAAAEwAAAAcAAAACAAAAACs9RTNOjrDtW6nS/53u/f+n/P//hej//2bP/P9Fq93wHGaNrxEv
O4kAAAB6AAAAXwAAADwAAAAfAAAADAAAAANihaWST6XK/0h/kcAdKCyWKTtAgVJ/kIhytNKse873
9E+w6v9RuN39SXuJpgQHCIoAAAB2AAAAUQAAACsAAAAPb6nU7mK65v9jqs76KkNPqAUICJoAAACE
AAAAaxUgJWBkrMiwsvv+//D+/v+y1NniIj1FnAAAAIgAAABcAAAALHS74PV1zPn/c835/1Oezv9N
iq7vNVRjrxUiJ5kBAgORAQICh3uLjZz3+vr1+f///4PL5/wvVmusAAAAigAAAFNyu+TPdtL8/0Cp
7v8ng8X/CFOH/ytpjv86gJ//R46z+Th6jsovVmCsd56pxNf2/f9TuPH/W7fs/ypGV6UAAAByf77Y
r02y7P9Zwfb/puH3/y+AtP8jZ5f/KWKH/0p7hP+ZrVr/zcUt/9vMKf/bzSz/tsBP/3OzrP9kl7Pp
AAAAgHGdpThatuT/0fn+//b///+V0uv/NICu/4mvfP/czjL/3M0v/9rMKP/dzzT/3c83/9vNLf/b
zS//nrWA/gAAAIMAMzMFbrrd2d/+///5////t+n6/4q6nf/czzX/3tA+/97QPf/czjP/3dA7/97R
Qv/czjD/3M4z/9DHLPoAAAB/AAAAAWShtUix5+//5v7+/5Hf7//Bvjn/3M0v/9/SSP/g1FL/39RR
/+DVWv/e0kf/3tFA/9zNL//bzCj/AAAAbwAAAAAAAAADcq7Fmpzo8f9rsL3/2ssl/93POf/f0kj/
49pu/+ffhP/q45b/49pp/97SSv/czS//yb0q4wAAAE8AAAAAAAAAAF54hhNrq77BXpCj/7+7Of/c
zjH/3tFH/+bdeP/w7cv/9PLa/+zlnf/g1VP/1so5/mBfJHsAAAArAAAAAAAAAAAAAAABa5GgIHWs
t/dymG3/3tE//9/UUv/o4Ij/9PHT//v67P/v6a3/08xY/3uMX6UAAAAuAAAAEAAAAAAAAAAAAAAA
AAAAAAKSvb9YSoWa+WyagP+wv2X/4NRO/+ngfv/m4Zf/rLeB+lpubIkAAAAlAAAADgAAAAMAAAAA
AAAAAAAAAAAAAAAAAAAAAoqvuDxkkp2gYo+c51mHkv9lk5v/Y4eNtlBfaEgAAAAWAAAACQAAAAIA
AAAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAwAAAAMAA
AADgAAAA8AEAAA==
</gtb:icon>
</feed>
Het bovenstaande voorbeeld is een Atom 1.0-feed waarin de Google-naamruimte voor aangepaste knoppen is opgegeven als: xmlns:gtb='http://toolbar.google.com/custombuttons/' Als u de knopinfo bij de knop wilt negeren, geeft u het volgende op: <gtb:description> new-description </gtb:description> Als u het pictogram bij de knop wilt negeren, geeft u het volgende op: <gtb:icon> icon-base64-code </gtb:icon> Het PHP-script achter deze complexe 'mood'-analyse ziet er als volgt uit: <?php
header('Content-type: text/xml');
switch(rand(1, 7)) {
case 1:
$icon = "amber.ico";
$desc = "Amber:\nNervous, on edge, uncertain";
break;
case 2:
$icon = "black.ico";
$desc = "Black:\nTense, stressed, working too hard";
break;
case 3:
$icon = "blue.ico";
$desc = "Blue:\nComfortable, breeze, at rest, loveable";
break;
case 4:
$icon = "bluegreen.ico";
$desc = "Bluegreen:\nHeightened inner emotional state, moderately relaxed";
break;
case 5:
$icon = "gray.ico";
$desc = "Gray:\nAnxious, ill at ease, strained";
break;
case 6:
$icon = "green.ico";
$desc = "Green:\nSteady, stable, no emotional turmoil";
brea;
case 7:
$icon = "purple.ico";
$desc = "Dark Blue:\nImpassioned, delighted, whiff of romance";
break;
}
$icon = base64_encode(file_get_contents($icon));
echo "<?xml version='1.0'?>";
echo "\n<feed xmlns='http://www.w3.org/2005/Atom' xmlns:gtb='http://toolbar.google.com/custombuttons/'>";
echo "\n<id>http://www.example.com/custombuttons/samples/feeds/mood</id>";
echo "\n<title>Mood</title>";
echo "\n<link href='http://www.google.com/search?q=$mood+ring' />";
echo "\n<link rel='self' href='http://www.example.com/custombuttons/samples/feeds/mood' />";
echo "\n<gtb:description>$desc</gtb:description>";
echo "\n<gtb:icon mode='base64' type='image/x-icon'>$icon</gtb:icon>";
echo "\n</feed>";
?>
De pictogrammen moeten in dezelfde map staan als het script. Een feed gebruiken voor het bijwerken van de pictogrammen voor de knop en de vervolgkeuzelijst
U kunt ook aangepaste pictogrammen op een server toevoegen aan de afzonderlijke items in de vervolgkeuzelijst van de feed. Hier volgt een voorbeeld van een weerknop die een feed met een vervolgkeuzelijst (standaard) heeft, maar die tevens de code
<?xml version="1.0" encoding="utf-8"?>
<custombuttons xmlns="http://toolbar.google.com/custombuttons/">
<button>
<title>Weather 94043</title>
<description>Weather updates for Mountain View, CA</description>
<site>http://www.google.com/search?q=weather+94043&num=1</site>
<feed refresh-interval="3600" refresh-menuitem="false">
http://www.example.com/custombuttons/samples/feeds/weather?zip=94043</feed>
</button>
</custombuttons>
Hierna ziet u een voorbeeld van de weerfeed, met een aangepast pictogram naast elk menu-item in de vervolgkeuzelijst (om het geheel overzichtelijk te houden zijn de meeste base64-elementen verwijderd). Uitgaande van het bovenstaande voorbeeld zou dit worden weergegeven op: <?xml version='1.0'?>
<feed xmlns='http://www.w3.org/2005/Atom'
xmlns:gtb='http://toolbar.google.com/custombuttons/'>
<id>http://www.example.com/custombuttons/samples/feeds/weather</id>
<title>Weather Mountain View, CA</title>
<link href='http://www.google.com/search?q=weather+94043/' />
<link rel='self'
href='http://www.example.com/custombuttons/samples/feeds/weather' />
<gtb:description>Mountain View, CA
63F Mostly Cloudy
Humidity: 48%
Wind: NW at 8 mph</gtb:description>
<gtb:icon mode='base64' type='image/x-icon'>
R0lGODlhKAAoANUAAEuc/Pz8/Fik/Ii00k9daZGPivLy8tbW1k2R0uvr6wZj3HSq0f/QMMfHx7a2
tj2F0fu0EePj4yx81neUp4J/eKanphJq3IJtOGB3iI3C5BFt5B5XnWis7H2346jO5/6+IWKo8923
... and so on...
</gtb:icon>
<entry>
<title>Today: Mostly Cloudy 65 | 50</title>
<link href='http://www.google.com/search?q=weather+94043/' />
<id>http://www.example.com/custombuttons/samples/feeds/weather/0</id>
<gtb:icon mode='base64' type='image/x-icon'>
R0lGODlhKAAoANUAAEuc/Pz8/Fik/Ii00k9daZGPivLy8tbW1k2R0uvr6wZj3HSq0f/QMMfHx7a2
tj2F0fu0EePj4yx81neUp4J/eKanphJq3IJtOGB3iI3C5BFt5B5XnWis7H2346jO5/6+IWKo8923
... and so on...
</entry>
<entry>
<title>Thu: 66 | 51</title>
<link href='http://www.google.com/search?q=weather+94043/' />
<id>http://www.example.com/custombuttons/samples/feeds/weather/1</id>
<gtb:icon mode='base64' type='image/x-icon'>
R0lGODlhKAAoAPcAAAAAAP///4WOwPT1+tDT3unr8sHG1ff5/6Wy0mZ8rGqAr3mJrJakxa+zvHSK
tcDBw1R2slBql110njBXjztmqS9OfjtekTZWhGeJuoqctklLTgJYyQJQtQ9hzhRr3BZlzBVRoS1S
... and so on...
</gtb:icon>
</entry>
<entry>
<title>Fri: 67 | 51</title>
<link href='http://www.google.com/search?q=weather+94043/' />
<id>http://www.example.com/custombuttons/samples/feeds/weather/2</id>
<gtb:icon mode='base64' type='image/x-icon'>
R0lGODlhKAAoANUAAObm52ms7k2Q0Uuc/Fmk+v2zDoS01HOp0avP5tvb26CPXQZj3DqG14yLh05Y
Yf/IKv/VN3mCiMPDw6SkpCt82GhxePz8/JG+2pd5NRZu3hBq3fb29rCAFrm5uSN549OWE4WltqHI
... and so on...
</gtb:icon>
</entry>
<entry>
<title>Sat: 67 | 50</title>
<link href='http://www.google.com/search?q=weather+94043/' />
<id>http://www.example.com/custombuttons/samples/feeds/weather/3</id>
<gtb:icon mode='base64' type='image/x-icon'>
R0lGODlhKAAoANUAAObm52ms7k2Q0Uuc/Fmk+v2zDoS01HOp0avP5tvb26CPXQZj3DqG14yLh05Y
Yf/IKv/VN3mCiMPDw6SkpCt82GhxePz8/JG+2pd5NRZu3hBq3fb29rCAFrm5uSN549OWE4WltqHI
... and so on...
</gtb:icon>
</entry>
</feed>
U kunt dezelfde naamruimte 'http://toolbar.google.com/custombuttons/' en beschrijving of pictogramtags gebruiken in RSS 1.0-, RSS 2.0-, Atom 1.0- en Atom 0.3-feeds voor de toolbarfeeds. Meerdere talenEen aangepaste knop kan ook alternatieve URL's, pictogrammen en tekst verwerken voor specifieke landinstellingen voor de toolbar. Hieronder kunt u zien op welke twee manieren u dit kunt doen. U kunt echter het beste de eerste methode gebruiken. Een attribuut voor de landinstelling gebruiken
U kunt het beste een lijst met XML-tags maken, waarin voor elk <?xml version="1.0" encoding="utf-8"?>
<custombuttons xmlns="http://toolbar.google.com/custombuttons/">
<button>
<title>Wikipedia</title>
<site>http://www.wikipedia.org</site>
<site locale="fr">http://fr.wikipedia.org</site>
<site locale="es">http://es.wikipedia.org</site>
<description>The Free Encyclopedia</description>
<description locale="fr">L'encyclopdie libre</description>
<description locale="es">La enciclopedia libre</description>
</button>
</custombuttons>
Als de landinstelling voor de huidige toolbartaal niet meteen kan worden gevonden in de XML-tag, wordt de eerste tag in de bovenstaande lijst als standaard gebruikt. De variabele {locale} gebruiken
Bij de alternatieve methode wordt de variabele Tabel met ISO-codes voor landenMomenteel worden de volgende landen/talen ondersteund in de toolbar:
Waar moet uw knop worden gehostWelke download-URL u gebruikt om het XML-bestand voor de knop te hosten, is vrij belangrijk omdat die URL de unieke id voor het bijwerken van de knop wordt. Als er een tweede poging wordt ondernomen om de knop vanaf dezelfde URL te downloaden, wordt u gevraagd of de oude knop moet worden vervangen en niet of een nieuwe knop moet worden toegevoegd. Zie Een aangepaste knop bijwerken voor meer informatie. Uw knop aan de knoppenlijst van Google toevoegenHet toevoegen van uw knop aan de knoppenlijst van Google is een goede manier om de wereld op de hoogte stellen van uw knop. Uw XML-bestand moet al ergens worden gehost (de knoppenlijst bevat een rechtstreekse koppeling naar het bestand) en de knop moet voldoen aan onze redactionele richtlijnen. Als u een knop heeft gemaakt voor een site van uzelf, moet het XML-bestand op hetzelfde domein worden gehost als uw site. Knoppen in de knoppenlijst van Google worden aangeduid als 'officieel' als ze op hetzelfde domein worden gehost als het domein waartoe de knop toegang biedt. Hierdoor wordt het voor gebruikers gemakkelijker om de officiële knop voor uw site te vinden. Zodra u dit allemaal heeft gedaan, vult u het verzendformulier voor de knoppenlijst van Google in en brengt u Google op de hoogte van uw knop. Een koppeling naar uw knop op uw site plaatsenU kunt uw knop beschikbaar maken op uw site door een installatiekoppeling te maken. Wanneer gebruikers van Google Toolbar 4 op de koppeling klikken, worden ze gevraagd of ze de knop willen installeren. Als de gebruiker niet over een compatibele versie van Google Toolbar beschikt, wordt de gebruiker omgeleid naar de downloadpagina van de Google Toolbar. Een ontwikkelaar kan een installatiekoppeling maken door de volgende URL-syntaxis te gebruiken: http://toolbar.google.com/buttons/add?url=url
waarbij url verwijst naar het XML-bestand voor de aangepaste knop. Met de koppeling in het onderstaande voorbeeld installeert u een knop voor Slashdot.com: <a href="http://toolbar.google.com/buttons/add?url=http://www.slashdot.org/slashdot_button.xml">Add</a> Het label voor deze koppeling is 'Add'. Wanneer een gebruiker op de koppeling klikt, wordt de knop Slashdot.com geïnstalleerd in de Google Toolbar. De bovenstaande Google-URL is min of meer een trigger voor de toolbar om een aangepaste knop te installeren. Als de gebruiker niet over een compatibele versie van de toolbar beschikt, wordt de gebruiker gevraagd of de betreffende versie moet worden geïnstalleerd. Zodra de toolbar is geïnstalleerd, wordt de aangepaste knop automatisch toegevoegd. Uw feedverkeer beherenWebverkeer met feeds kan problemen opleveren. Als u goede redenen heeft om aan te nemen dat de feeds zeer populair zullen worden en dus veel verkeer zullen genereren, moet de knop de feed niet naar een server met een lage bandbreedte sturen. De server kan dan overbelast raken door de vernieuwingsaanvragen. De aangepaste knop heeft een eigen attribuut voor het vernieuwingsinterval voor feeds. De toolbar voldoet aan de verlooptijd die de server in de HTTP-kop definieert. Met deze instelling wordt het vernieuwingsinterval voor de knop genegeerd. Als uw server overbelast is, kunt u de verlooptijd verlengen om de belasting te verlagen. Als een knop bijvoorbeeld elk uur wordt vernieuwd, kunt u de verlooptijd instellen op elk dag vernieuwen, waardoor de hoeveelheid verkeer drastisch wordt gereduceerd (de knop wordt echter wel minder vaak vernieuwd).
Hier volgt een voorbeeld van een PHP-script om voor
<?php
$expires = gmdate("D, d M Y H:i:s", time() + 3600 * 24 * 7) . " GMT";
Header("Expires: " . $expires);
?>
Voorbeeld van een HTTP-antwoord van de server: HTTP/1.1 200 OK Date: Thu, 05 Jan 2006 23:39:54 GMT Server: Apache/2.0.47 (Red Hat Linux) Accept-Ranges: bytes X-Powered-By: PHP/4.3.2 Expires: Thu, 12 Jan 2006 23:39:54 GMT Transfer-Encoding: chunked Content-Type: text/htmlInformatie Informatie over XMLEen XML-bestand voor een aangepaste knop heeft de volgende structuur:
<?xml version="1.0" encoding="utf-8"?>
<custombuttons xmlns="http://toolbar.google.com/custombuttons/">
<button>
<!-- XML elements -->
</button>
</custombuttons>
Het element
Tekens die u moet escapenVoor tekenreeksen in XML-bestanden (en HTML-bestanden) moet u de volgende drie tekens escapen als de weergegeven HTML-entiteiten:
Informatie over variabelen
Opmerking: er is een voorwaardelijke
De volgende variabelen, of escapeparameters, worden gebruikt in elementen die zijn opgenomen in het opgegeven bereik. De variabele
|