![]() |
|
|
API-Startseite API – Erste Schritte API-Dokumentation Fügen Sie Ihre Schaltfläche zur Galerie Schaltflächen-Galerie |
Leitfaden zur Erstellung benutzerdefinierter Schaltflächen für Google Toolbar 4 für Internet ExplorerDieses Dokument beschreibt, wie Sie benutzerdefinierte Schaltflächen erstellen können. Benutzerdefinierte Schaltflächen können derzeit nur in Internet Explorer verwendet werden.InhaltsverzeichnisWas ist eine benutzerdefinierte Schaltfläche?Eine benutzerdefinierte Schaltfläche ist eine Schaltfläche, die Sie zur Google Toolbar hinzufügen können. Diese Schaltfläche kann über benutzerdefinierte Navigations-, Such-, Sende- und Aktualisierungsfunktionen verfügen. Darüber hinaus kann eine benutzerdefinierte Schaltfläche die Suchmaschine beinahe jeder Website verwenden, nicht nur die Google-Suchmaschine. Beim Klicken auf eine Suchschaltfläche werden folgende Aufgaben ausgeführt:
Eine benutzerdefinierte Schaltfläche kann über die folgenden Funktionen der Benutzeroberfläche verfügen:
Zusätzlich zu Eigenschaften für die oben genannten Funktionen der Benutzeroberfläche kann eine benutzerdefinierte Schaltfläche über die folgenden Eigenschaften (in einer XML-Datei gespeichert) verfügen, die die oben genannten Aufgaben erfüllen.
Die folgende Toolbar zeigt Beispiele von benutzerdefinierten Schaltflächen für Slashdot, Wikipedia und BBC (hervorgehoben). Die Schaltfläche "BBC" ist ein News-Feed mit einer Dropdown-Liste mit Schlagzeilen (erkennbar durch die Schaltfläche mit dem Pfeil nach unten).
Hinzufügen einer benutzerdefinierten SchaltflächeSo fügen Sie benutzerdefinierte Schaltflächen zur Google Toolbar hinzu und verwalten diese:
Automatisches Erstellen und Hinzufügen einer benutzerdefinierten Suchschaltfläche
Ergebnis: Die benutzerdefinierte Schaltfläche wird installiert und kann sofort verwendet werden. Im Hintergrund erstellt dieser Vorgang eine XML-Datei für die benutzerdefinierte Schaltfläche mit einem Symbol und speichert diese unter einem Hash-Namen in folgendem Verzeichnis:
Dieser Ansatz hat gegenüber dem manuellen Erstellen einer benutzerdefinierten Schaltfläche den Vorteil, dass er geeignet ist für Websites, die komplexe POST-Anfragen oder Umleitungen verwenden, die die Ermittlung des XML-Datei einer benutzerdefinierten Schaltfläche
Die Eigenschaften und die Funktion einer benutzerdefinierten Schaltfläche sind in einer XML-Datei definiert, die über ein
<?xml version="1.0" encoding="utf-8"?>
<custombuttons xmlns="http://toolbar.google.com/custombuttons/">
<button>
<site>http://www.wikipedia.org</site>
</button>
</custombuttons>
HINWEIS: Sie können Zeilenwechsel und Leerzeichen in URL-Zeichenfolgen in der XML-Datei verwenden; diese werden beim Interpretieren der Datei durch die Toolbar entfernt. Das bedeutet: Wenn Ihre URL Leerzeichen erfordert (diese also nicht entfernt werden sollen), müssen diese durch "%20" ersetzt werden (falls Ihr Browser dies nicht bereits durchgeführt hat). In vielen der folgenden Beispiele ist die URL in zwei Zeilen eingegeben, die durch einen Zeilenwechsel in der Mitte der URL getrennt sind. Dies funktioniert problemlos.
HINWEIS: In den Beispielen dieses Leitfadens ändert sich nur der Teil des XML-Code innerhalb des Elements
Manuelles Erstellen und Installieren einer benutzerdefinierten SchaltflächeSo installieren Sie eine benutzerdefinierte Schaltfläche in der Google Toolbar:
Hinzufügen eines Titels und eines Tooltipps zu einer Schaltfläche
Wie im Folgenden dargestellt, können Sie
Verwenden Sie
<?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>
Benutzerdefinierte SuchschaltflächeMithilfe der Google Toolbar können Sie eine Schaltfläche erstellen, mit der Sie die Suchmaschine beinahe jeder Website nach dem Text suchen lassen können, den Sie in das Suchfeld der Toolbar eingeben. Die nächsten beiden Beispiele enthalten eine Schaltfläche, mit der Sie wikipedia.org mithilfe der Wikipedia-Suchmaschine durchsuchen können, und eine weitere Schaltfläche, mit der Sie das Internet mithilfe der Google-Suchmaschine durchsuchen können.
Fügen Sie dazu ein Suchelement in Form des Codes HINWEIS: Ein Benutzerdefinierte Schaltfläche für die Wikipedia-Suche
Wenn Sie beispielsweise eine Schaltfläche erstellen möchten, um mithilfe der Wikipedia-Suchmaschine eine Suche auf wikipedia.com durchzuführen, sollten Sie mit einer ganz einfachen Wikipedia-Suchanfrage nach einem einzelnen Begriff beginnen, zum Beispiel "dog":
<search>http://en.wikipedia.org/wiki/Special:Search?search=
Wenn wir dieses Suchelement zu unserer bisherigen Schaltfläche hinzufügen, erhalten wir:
<?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=
Beachten Sie, dass das kaufmännische Und-Zeichen (&) in der URL escaped wurde und nun " Benutzerdefinierte Schaltfläche für die Google-Suche
Wenn Sie eine Schaltfläche erstellen möchten, um das Internet mithilfe der Google-Suchmaschine zu durchsuchen, sollten Sie mit einer ganz einfachen Google-Suchanfrage nach einem einzelnen Begriff beginnen, zum Beispiel "dog":
<search>http://www.google.com/search?q={query}</search>
Beispiel: Slashdot-Suche
<search>http://slashdot.org/search.pl?query={query}</search>
Suchvorgang als POST senden
Zum Senden von Suchvorgängen als POST anstelle von GET fügen Sie ein Attribut Suche über The OnionDieses Beispiel verwendet eine Post-Methode zum Senden von Post-Daten (markiert): <search method="post">http://www.theonion.com/content/search/node ?edit%5Bkeys%5D={query}</search> Aktualisieren einer benutzerdefinierten SchaltflächeDie Download-URL, die Sie zum Hosten der XML-Datei für die Schaltfläche verwenden, ist die eindeutige ID für die Aktualisierung der Schaltfläche. Wenn ein zweiter Versuch vorgenommen wird, eine Schaltfläche von derselben URL herunterzuladen, schlägt die Toolbar vor, die alte Schaltfläche zu aktualisieren. Es wird keine neue Schaltfläche hinzugefügt.
Von den fünf Möglichkeiten, eine Schaltfläche hinzuzufügen, ist bei der ersten und letzten Möglichkeit automatisch klar, woher Aktualisierungen für die Schaltfläche stammen sollen. Jeder Wert <update>http://buttons.com/updated_button.xml</update> Schaltflächenoptionen
Eine Schaltfläche kann mithilfe des Tags
<?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>
Der Optionstitel ist erforderlich. Der Standardwert und die Beschreibung sind optional. Verwenden Sie die Variable {option1} innerhalb einer Spezifikation in einer URL-Vorlage, um den Text des Nutzers einzufügen. Derzeit findet keine Überprüfung des eingegebenen Codes und keine Bereinigung von Leerräumen statt. Die Variable {option1} codiert alle Eingaben des Nutzers mithilfe einer UTF-8- und CGI-Parameter-Escapesequenz, so wie dies auch ein Textbearbeitungsfeld in einem Formular durchführen würde. Einbinden der aktuellen URL
Neben dem Senden der Suchanfrage haben Sie auch drei Möglichkeiten, die aktuelle URL, die vom Browser angezeigt wird, anzugeben:
In diesem Beispiel wird
<site>http://web.archive.org/web/*/
Das folgende Beispiel führt dieselbe Suche auf archive.org durch, verwendet aber
<site method="post">http://www.archive.org/searchresults.php?search=
Wenn Sie die Google-Suchmaschine verwenden möchten, um auf der aktuellen Website zu suchen, verwenden Sie
<search>http://www.google.com/search?q=site:
Einbinden des Google-Domain-Suffix
Die Google Toolbar verfügt über eine Variable
Sie sollten die Variable
<search>http://www.google.
Senden eines vom Nutzer ausgewählten TextesSie können auch zulassen, dass eine benutzerdefinierte Schaltfläche einen Abschnitt Klartext sendet, der durch den Nutzer auf der Webseite markiert wurde. Dies könnte hilfreich sein für einen Übersetzungsdienst oder auch für eine Blogging- oder Messaging-Anwendung. Ein kleines Textsymbol wird neben der benutzerdefinierten Schaltfläche angezeigt, sobald Text markiert wurde.
Für diesen Vorgang ist das Element
<send>http://www.google.com/search?hl=en&lr=&q=define%3A+
Benutzerdefinierte Schaltflächen, die einen "Senden"-Vorgang ermöglichen, sind auch über das Kontextmenü des Browsers verfügbar, wenn Text markiert ist (Aufrufen des Kontextmenüs mit der rechten Maustaste). Vorhandensein einer Variable prüfen
Während der Weiterentwicklung der Toolbar werden möglicherweise weitere URL-Variablen implementiert. Damit sowohl Aufwärts- als auch Abwärtskompatibilität mit diesen neuen Variablen gewährleistet werden kann, ist die Syntax {param_to_be_tested?use this text if the param is implemented:use this text if not}
Einfach ausgedrückt: Diese Syntax ermöglicht es dem Autor einer fortgeschrittenen benutzerdefinierten Schaltfläche, eine neue Funktion gefahrlos zu verwenden, und Aufwärts- und Abwärtskompatibilität mit alten Parsern zu gewährleisten, die diese neue Funktion noch nicht kennen. Nehmen wir beispielsweise an, dass die Variable {locale} gerade erst eingeführt wurde. Eine URL-Vorlage wie im folgenden Beispiel könnte verwendet werden, um sicherzugehen, dass die Variable keine Auswirkung auf ältere Toolbars hat: <site>http://google.com/{locale??hl={locale}}</site>
Wenn die Toolbar die Variable {locale} unterstützt, würde dieser Code erweitert zu: <site>http://google.com/?hl=en</site> Wenn keine Unterstützung erfolgt, würde der Code wie folgt lauten. <site>http://google.com/</site>
Sie können Ausdrücke <site>http://google.com/{locale??hl={domain?{domain}:{query}}}</site>
Achten Sie auch darauf, dass jedes Mal, wenn ein Escapezeichen verwendet wird, das nicht erkannt wird, der Parser dieses durch eine leere Zeichenfolge ersetzt. So würde "Hall{blah}o Welt" als "Hallo Welt" angezeigt werden. Wenn eine ungerade Anzahl geschweifte Klammern "{" oder "}" enthalten ist oder ein anderer Parserproblem auftritt, wird die gesamte URL auf eine leere Zeichenfolge zurückgesetzt. Erstellen markanter SymboleDie meisten Symbole, die als bevorzugte Symbole verwendet werden, können auch als Symbole für benutzerdefinierte Schaltflächen verwendet werden. Dazu zählen BMP-, ICO-, GIF- und JPEG-Bilder mit der Größe 16x16. Diese Bilder müssen nur mithilfe Base64-Codierung als ASCII-Text codiert werden. Es gibt im Internet mehrere Websites, die diese Codierung für Sie durchführen, beispielsweise diese. Klicken Sie auf dieser Website auf die Schaltfläche "Browse..." ("Durchsuchen...") und wählen Sie die Datei aus, die codiert werden soll. Starten Sie die Codierung durch Klick auf die Schaltfläche "Convert the source data" ("Quelldaten umwandeln"). Javascript und PHP verfügen ebenfalls über einzeilige Befehle zur Base64-Codierung.
Hier sehen Sie ein Google Mail-Symbol in Base64; verwenden Sie das 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>
Symbole für benutzerdefinierte Schaltflächen können größer als 16x16 sein, aber die Toolbar verkleinert sie auf 16x16. Somit sind die Bilder nicht nur größer als nötig, sie sehen auch nicht annähernd so gut aus, als wenn Sie sie mit einem leistungsstarken Bildbearbeitungsprogramm verkleinert hätten. Symbole sehen am besten aus, wenn sie mit 24-Bit Farbe (RGB) und 8-Bit Alpha erstellt und als RGBA-Symbole im XP-Stil gespeichert werden. PNG-Dateien werden nicht direkt unterstützt, da Windows keine native Unterstützung von PNG-Dateien bietet, ohne dass eine Verknüpfung zu zusätzlichen Dateien erfolgt. Es muss ein Alpha-Kanal verwendet werden, da nicht alle Nutzer das gleiche Grau, Silber oder Beige als Hintergrundfarbe für ihre Toolbar verwenden, das Ihre Toolbar verwendet. Windows XP-Nutzer können ihr Farbschema anpassen. Darunter fällt auch der Hintergrund der Toolbar. Sie können dieses Problem umgehen, indem Sie ein viereckiges Symbol erstellen, das keine transparenten Teile hat; leider sehen solche Symbole weniger interessant aus. Einfarbige Alpha-Kanäle, wie zum Beispiel GIF-Bilder, verfügen über Außenkanten, die im Vergleich zu einem korrekt mit Alphablending erstelltem Symbol, wie zum Beispiel den Symbolen der Google Toolbar und von Internet Explorer, grobkörnig erscheinen. Automatisches Aktualisieren von Symbolen und TooltippsEine der interessanteren Funktionen einer benutzerdefinierten Schaltfläche ist die Aktualisierung des eigenen Symbols und der Tooltipps über einen Remote-Server in bestimmten Zeitabständen. Für diese Aktualisierung wird ein RSS-Feed verwendet. Dadurch kann eine Schaltfläche als Benachrichtigungsdienst oder als Status-Symbol verwendet werden (beispielsweise für Wetter oder andere Dinge). Eine Schaltfläche kann auch über ein Dropdown-Menü mit individuellen Elementen mit Text oder Symbolen verfügen. Jedes Menüelement kann über eine eigene dynamische URL verfügen, die geöffnet wird, wenn das Element angeklickt wird. Beispiele hierzu finden Sie im nächsten Abschnitt. Hinzufügen eines RSS-Feeds
RSS-Feeds verwenden das Element <feed refresh-interval="1800">http://rss.cnn.com/rss/cnn_topstories.rss</feed> Das Protokoll für diese Aktualisierungs-Feeds ist entweder Atom 1.0, Atom 0.3, RSS 2.0 oder RSS 1.0. Standard-Feeds sollten normalerweise funktionieren. Verwenden eines Feeds zum Aktualisieren des Symbols bzw. der Tooltipps einer SchaltflächeWenn Sie das Symbol auf der Toolbar oder die Beschreibung des Tooltipps über einen Feed aktualisieren möchten, ist es erforderlich, eine Toolbar-spezifische Erweiterung zu RSS oder ATOM hinzuzufügen, indem Sie einen Namespace verwenden. Hier ein Beispiel einer Mood Ring ("Stimmungsring")-Schaltfläche, die ihre Informationen aus einem Feed erhält: <?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>
Beachten Sie: Der Code spezifiziert Wenn dieser Code auf einem tatsächlichen Server eingerichtet werden würde, würde die Feed-Ausgabe wie folgt aussehen: <?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>
Das obige Beispiel ist ein Atom 1.0-Feed, in dem der Namespace der benutzerdefinierten Schaltflächen von Google angegeben wird als: xmlns:gtb='http://toolbar.google.com/custombuttons/' Falls Sie einen anderen Tooltipp als den ursprünglich zur Schaltfläche gehörenden Tooltipp verwenden möchten, geben Sie Folgendes ein: <gtb:description> new-description </gtb:description> Falls Sie ein anderes Symbol als das ursprünglich zur Schaltfläche gehörende Symbol verwenden möchten, geben Sie Folgendes ein: <gtb:icon> icon-base64-code </gtb:icon> Das PHP-Skript, das hinter diesem komplexen "Stimmungs"-Analysesystem steckt, sieht wie folgt aus: <?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>";
?>
Diese Symbole sollten sich in dem Ordner befinden, in dem sich auch das Skript befindet. Verwenden eines Feeds zum Aktualisieren der Symbole für die Schaltfläche und das Dropdown-Menü
Sie können auch benutzerdefinierte server-basierte Symbole zu den einzelnen Elementen im Dropdown-Menü des Feeds hinzufügen. Hier ein Beispiel einer Wetter-Schaltfläche, die über einen Feed mit einem Dropdown-Menü verfügt (Standardeinstellung), aber auch
<?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>
Im Folgenden sehen Sie ein Beispiel für den Wetter-Feed, mit einem benutzerdefinierten Symbol neben jedem Menüelement im Dropdown-Menü (der Großteil der Base64-Einträge für die Symbole wurde der Übersichtlichkeit zuliebe entfernt). Laut dem obigen Beispiel würde dies angezeigt werden unter: <?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>
Der PHP-Code, der dies durchführt, verwendet das -Antwortformat für Wettervorhersagen. <?php
// Script to convert Google xml weather interface to custom buttons AtomFeed 1.0
// Sample input at http://www.google.com/ig/api?weather=94043
// To see sample output, run this script with ?zip=94043
$zip = $_GET['zip'];
header('Content-type: text/xml');
// http://www.google.com/ig/api?weather=94043
$dom= domxml_open_file("http://www.google.com/ig/api?weather=$zip");
$xpath = xpath_new_context($dom);
// $params = $dom->documentElement->firstChild->getElementsByTagName('param');
$temp = $xpath->xpath_eval('//city/@data');
$city = $temp->nodeset[0]->value;
$icons = $xpath->xpath_eval('//current_conditions/icon/@data');
$icon_url = $icons->nodeset[0]->value;
$icon = base64_encode(file_get_contents("http://www.google.com$icon_url"));
$conditions = $xpath->xpath_eval('//current_conditions/condition/@data');
$condition = $conditions->nodeset[0]->value;
$temp = $xpath->xpath_eval('//current_conditions/temp_f/@data');
$tempf = $temp->nodeset[0]->value;
$temp = $xpath->xpath_eval('//current_conditions/humidity/@data');
$humidity = $temp->nodeset[0]->value;
$temp = $xpath->xpath_eval('//current_conditions/wind_condition/@data');
$wind = $temp->nodeset[0]->value;
echo "<?xml version='1.0'?>";
echo "\n<feed xmlns='http://www.w3.org/2005/Atom' ";
echo "xmlns:gtb='http://toolbar.google.com/custombuttons/'>";
echo "\n<id>http://www.example.com/custombuttons/samples/feeds/weather</id>";
echo "\n<title>Weather $city</title>";
echo "\n<link href='http://www.google.com/search?q=weather+$zip/' />";
echo "\n<link rel='self' href='http://www.example.com/custombuttons/";
echo "samples/feeds/weather' />";
echo "\n<gtb:description>$city\n$tempfF $condition\n$humidity\n$wind";
echo "</gtb:description>";
echo "\n<gtb:icon mode='base64' type='image/x-icon'>$icon</gtb:icon>";
$days = $xpath->xpath_eval('//forecast_conditions/day_of_week/@data');
$conditions = $xpath->xpath_eval('//forecast_conditions/condition/@data');
$icons = $xpath->xpath_eval('//forecast_conditions/icon/@data');
$highs = $xpath->xpath_eval('//forecast_conditions/high/@data');
$lows = $xpath->xpath_eval('//forecast_conditions/low/@data');
for ($i = 0; $i < count($conditions->nodeset); $i++) {
$day_of_week = $days->nodeset[$i]->value;
$condition = $conditions->nodeset[$i]->value;
$high = $highs->nodeset[$i]->value;
$low = $lows->nodeset[$i]->value;
echo "\n<entry>";
echo "\n<title>$day_of_week: $condition $high | $low</title>";
echo "\n<link href='http://www.google.com/search?q=weather+$zip/' />";
echo "\n<id>http://www.example.com/custombuttons/samples/feeds/weather/$i</id>";
$icon_url = $icons->nodeset[$i]->value;
$icon = base64_encode(file_get_contents("http://www.google.com$icon_url"));
echo "\n<gtb:icon mode='base64' type='image/x-icon'>$icon</gtb:icon>";
echo "\n</entry>";
}
echo "\n</feed>";
?>
Sie können denselben Namespace 'http://toolbar.google.com/custombuttons/' und dieselben Beschreibungs- oder Icon-Tags in RSS 1.0, RSS 2.0, Atom 1.0 und Atom 0.3-Feeds auch für die Toolbar-Feeds verwenden. Mehrere SprachenEine benutzerdefinierte Schaltfläche kann alternative URLs, Symbole und Text für spezifische Toolbar-Gebietsschemata verwenden. Die beiden Methoden, dies durchzuführen, sind unten dargestellt; die erste Methode wird empfohlen. Verwendung eines lokalen Attributs
Die empfohlene Methode ist die Erstellung einer Liste von XML-Tags, von denen jedes ein Attribut <?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>
Wenn das Gebietsschema der aktuell in der Toolbar eingestellten Sprache nicht direkt im XML-Tag gefunden wird, wird das erste Tag in der obigen Liste als Standardwert verwendet. Verwendung der Variable {locale}
Alternativ dazu können Sie die Variable Tabelle der ISO-GebietsschemataFolgende Gebietsschemata werden derzeit von der Toolbar unterstützt:
Wo sollten Sie Ihre Schaltfläche hosten?Die Download-URL, die Sie zum Hosten der XML-Datei für die Schaltfläche verwenden, ist wichtig, da diese URL die eindeutige ID für die Aktualisierung der Schaltfläche ist. Wenn ein zweiter Versuch vorgenommen wird, eine Schaltfläche von derselben URL herunterzuladen, schlägt die Toolbar vor, die alte Schaltfläche zu aktualisieren. Es wird keine neue Schaltfläche hinzugefügt. Weitere Informationen finden Sie unter Aktualisieren einer benutzerdefinierten Schaltfläche. Hinzufügen Ihrer Schaltfläche zur Schaltflächen-Galerie von GoogleFügen Sie Ihre Schaltfläche zur Schaltflächen-Galerie von Google hinzu; so können Sie der Welt Ihre neue Schaltfläche präsentieren. Ihre XML-Datei muss bereits gehostet sein (die Schaltflächen-Galerie enthält einen Direktlink zu der Datei) und die Schaltfläche muss unseren redaktionellen Richtlinien entsprechen. Wenn Sie eine Schaltfläche für eine Website einreichen, deren Eigentümer Sie sind, sollten Sie Ihre XML-Datei auf derselben Domain hosten, auf der sich auch Ihre Website befindet. Schaltflächen in der Schaltflächen-Galerie von Google sind als "offiziell" gekennzeichnet, wenn sie auf derselben Domain gehostet sind, auf die sich die Schaltfläche bezieht. Dadurch ist es für Nutzer einfacher, die offizielle Schaltfläche für Ihre Website zu finden. Wenn Sie diese Schritte durchgeführt haben, füllen Sie das Übermittlungsformular für die Schaltflächen-Galerie aus, um Google Informationen über Ihre Schaltfläche mitzuteilen. Erstellen eines Links zu Ihrer Schaltfläche auf Ihrer WebsiteSie können Ihre Schaltfläche auf Ihrer eigenen Website verfügbar machen, indem Sie einen Installationslink erstellen. Wenn ein Nutzer der Google Toolbar 4 auf den Link klickt, wird er aufgefordert, die Schaltfläche zu installieren. Wenn der Nutzer über keine kompatible Version der Toolbar verfügt, öffnet der Link stattdessen die Google Toolbar-Downloadseite. Ein Entwickler kann einen Installationslink erstellen, indem er die folgende URL-Syntax verwendet: http://toolbar.google.com/buttons/add?url=url
wobei url auf die XML-Datei der benutzerdefinierten Schaltfläche verweist. Hier als Beispiel ein Link, der eine Schaltfläche "Slashdot.com" installieren würde: <a href="http://toolbar.google.com/buttons/add?url=http://www.slashdot.org/slashdot_button.xml">Add</a> Das Label dieses Links ist "Add" ("Hinzufügen"). Wenn ein Nutzer auf den Link klickt, wird die Schaltfläche "Slashdot.com" in seiner Google Toolbar installiert. Die obige Google-URL ist im Wesentlichen eine Aufforderung an die Toolbar, eine benutzerdefinierte Schaltfläche zu installieren. Wenn der Nutzer über keine kompatible Version der Toolbar verfügt, wird er aufgefordert, diese zu installieren. Sobald die Google Toolbar installiert wurde, wird die benutzerdefinierte Schaltfläche automatisch hinzugefügt. Verwalten Ihres Feed-TrafficsInternet-Traffic kann bei Feeds ein Problem darstellen. Eine Schaltfläche sollte ihren Feed nicht auf einen Server mit geringer Bandbreite verweisen, wenn Sie Grund zu der Annahme haben, dass der Feed häufig abgefragt werden wird und somit hohen Traffic erzeugen wird. Der Server kann durch häufige Anfragen überlastet werden. Die benutzerdefinierte Schaltfläche verfügt über ein eigenes Attribut Aktualisierungsintervall für Feeds. Die Toolbar berücksichtigt die Ablaufzeit "Expires", die der Server im HTTP-Header angibt. Diese Einstellung hat Vorrang vor dem Aktualisierungsintervall der Schaltfläche. Wenn Ihr Server überlastet ist, könnten Sie die Ablaufzeit "Expires" erhöhen, um die Belastung zu reduzieren. Wenn beispielsweise die Einstellung einer Schaltfläche besagt, dass sie stündlich aktualisiert werden soll, kann die Ablaufzeit "Expires" auf eine tägliche Aktualisierung festgelegt werden, wodurch der Traffic erheblich reduziert werden würde (auch wenn dadurch die Aktualität der Schaltfläche gemindert werden könnte).
Hier ein Beispiel eines PHP-Skripts, um die Ablaufzeit
<?php
$expires = gmdate("D, d M Y H:i:s", time() + 3600 * 24 * 7) . " GMT";
Header("Expires: " . $expires);
?>
Beispiel einer HTTP-Antwort des Servers: 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/htmlReferenz XML-ReferenzDie XML-Datei einer benutzerdefinierten Schaltfläche verfügt über die folgende Struktur:
<?xml version="1.0" encoding="utf-8"?>
<custombuttons xmlns="http://toolbar.google.com/custombuttons/">
<button>
<!-- XML elements -->
</button>
</custombuttons>
Die folgenden XML-Elemente können in einem Element
Escapefolgen für ZeichenFür Zeichenfolgen in XML-Dateien (und HTML-Dateien) müssen die folgenden drei Zeichen escaped und der angegebene HTML-Eintrag verwendet werden:
Referenz für Variablen
HINWEIS: Eine konditionelle Syntax
Die folgenden Variablen, oder Escape-Parameter, werden in Elementen verwendet, die im angegebenen Anwendungsbereich liegen. Beispielsweise kann
Zusammenfassung
|