Im Folgenden finden Sie eine Referenz für das Google Gadgets-API. Sie umfasst Referenzinformationen zur Gadget-XML-Struktur sowie zu Basis-JavaScript- und funktionsspezifischen Bibliotheken.
In den folgenden Abschnitten werden die Struktur und der Inhalt der XML-Datei beschrieben, mit der ein Gadget definiert wird.
Der Abschnitt <ModulePrefs> in der XML-Datei gibt Merkmale des Gadgets wie Titel, Autor und bevorzugte Größe an. Beispiel:
<Module>
<ModulePrefs title="Developer Forum" title_url="http://groups.google.com/group/Google-Homepage-API"
height="200" author="Jane Smith" author_email="xxx@google.com"/>
<Content …>
… content …
</Content>
</Module>
Diese Attribute können von den Nutzern Ihres Gadgets nicht geändert werden.
In der folgenden Tabelle finden Sie eine Übersicht über die Attribute im Abschnitt <ModulePrefs>.
| Attribut | Beschreibung |
|---|---|
| title | Optionaler Eintrag, der den Titel des Gadgets bereitstellt. Dieser Titel wird in der Titelleiste des Gadgets auf der iGoogle-Seite der Gadget-Nutzer angezeigt. Falls dieser Eintrag Ersetzungsvariablen für Benutzereinstellungen enthält und das Gadget an das Verzeichnis für Google-Startseiten-Content gesendet werden soll, sollten Sie auch einen directory_title für die Anzeige im Verzeichnis festlegen. |
| directory_title | Optionaler Eintrag, der den für das Gadget im Verzeichnis für den Google-Startseiten-Content angezeigten Titel bereitstellt. Geben Sie hier keine Ersetzungsvariablen für Benutzereinstellungen an, sondern nur den tatsächlich angezeigten Text. Da das Content-Verzeichnis eine statische Ansicht Ihres Gadgets anzeigt, kann die für einen sinnvollen Titel erforderliche Ersetzung hier nicht vorgenommen werden. Wenn der Titel Ihres Gadgets beispielsweise "Freunde von __UP_name__" lautet, kann im Verzeichnis nicht die erforderliche Ersetzung durchgeführt werden, die einen sinnvollen Wert für " __UP_name__" erbringen würde. Sie könnten als directory_title daher zum Beispiel einfach nur "Freunde" festlegen. |
| title_url | Optionaler Eintrag, der eine URL, mit der der Titel des Gadgets verknüpft ist, bereitstellt. Sie können den Titel beispielsweise mit Ihrer Startseite verknüpfen. |
| description | Optionaler Eintrag, der das Gadget beschreibt. |
| author | Optionaler Eintrag, der den Autor des Gadgets angibt. |
| author_email | Optionaler Eintrag, der die E-Mail-Adresse des Gadget-Autors bereitstellt. Sie können jedes E-Mail-System verwenden, es empfiehlt sich jedoch eine persönliche E-Mail-Adresse aufgrund von Spam-Mails. Eine Möglichkeit ist die Verwendung einer E-Mail-Adresse im Format helensmith.feedback+coolgadget@googlemail.com in der Gadget-Spezifikation. Da bei Google Mail alles, was hinter dem Pluszeichen (+) steht, fallen gelassen wird, wird diese E-Mail-Adresse folgendermaßen gelesen: helensmith.feedback@googlemail.com Wenden Sie sich an den technischen Support von Google, falls Sie eine Google Mail-Einladung benötigen, um eine Google Mail-Adresse für Ihr Gadget anzulegen. |
| author_affiliation | Optionaler Eintrag wie zum Beispiel "Google", der die Zugehörigkeit des Autors angibt. Dieses Attribut ist bei Gadgets erforderlich, die in das Verzeichnis für Google-Startseiten-Content aufgenommen werden. |
| author_location | Der geografische Standort des Autors, wie "Frankfurt, Deutschland". |
| screenshot | Optionaler Eintrag, der die URL zu einem Screenshot des Gadgets bereitstellt. Hierbei muss es sich um ein Bild auf einer öffentlichen Website handeln, die nicht durch eine robots.txt-Datei blockiert (gesperrt) wird. Das bevorzugte Format ist PNG, GIF- und JPG-Dateien sind jedoch auch akzeptabel. Gadget-Screenshots sollten 280 Pixel breit sein. Die Höhe des Screenshots sollte der Höhe des tatsächlich verwendeten Gadgets entsprechen. Weitere Richtlinien für Screenshots finden Sie unter Veröffentlichen im Startseiten-Content. |
| thumbnail | Optionaler Eintrag, der die URL zu einer Miniaturansicht des Gadgets bereitstellt. Hierbei muss es sich um ein Bild auf einer öffentlichen Website handeln, die nicht durch eine robots.txt-Datei blockiert (gesperrt) wird. Das bevorzugte Format ist PNG, GIF- und JPG-Dateien sind jedoch auch akzeptabel. Gadget-Miniaturen sollten eine Größe von 120 x 60 Pixel haben. Weitere Richtlinien für Miniaturansichten finden Sie unter Veröffentlichen im Startseiten-Content. |
| height | Optionale positive Ganzzahl, durch die die Höhe des Bereichs, in dem das Gadget ausgeführt wird, festgelegt wird. Die Standardhöhe ist 200. |
| width | Optionale positive Ganzzahl, durch die die Breite des Bereichs, in dem das Gadget ausgeführt wird, festgelegt wird. Diese Einstellung gilt nur für syndizierte Gadgets. Die Standardbreite ist 320. |
| scaling | Optionaler Boolescher Wert, der angibt, ob das Seitenverhältnis (Höhe zu Breite) des Gadgets erhalten bleibt, wenn die Größe des Browsers geändert wird. Bei Gadgets, bei denen automatisch eine vertikale Skalierung durchgeführt werden kann, sollte dieser Wert auf "true" gesetzt werden, bei Gadgets mit einer unveränderlichen Höhe auf "false". Die Standardeinstellung ist "true". |
| scrolling | Optionaler Boolescher Wert, mit dem automatisch eine vertikale bzw. horizontale Bildlaufleiste bereitgestellt wird, wenn der Inhalt über den verfügbaren Platz hinausgeht. Wird bei diesem Attribut "false" festgelegt, wird der Inhalt auf die verfügbare Höhe und Breite zugeschnitten. (Die Breite ist nicht konfigurierbar.) Die Standardeinstellung ist "false". |
| singleton | Optionaler Boolescher Wert, der angibt, ob ein Gadget mehrmals aus einem Verzeichnis hinzugefügt werden kann. Die Standardeinstellung ist "true", was bedeutet, dass Gadgets nur einmal hinzugefügt werden können. Verzeichnisse können dieses Attribut auf verschiedene Weise verarbeiten. So reagiert beispielsweise das Verzeichnis für Google-Startseiten-Content folgendermaßen auf singleton="true": Gadgets, die bereits hinzugefügt wurden, werden ausgegraut und es wird der Text "Hinzugefügt" angezeigt. Änderungen bei diesem Attribut werden unter Umständen nicht sofort von den Verzeichnissen umgesetzt. Dieses Attribut kann jedoch nicht verhindern, dass Nutzer Gadgets über das Entwickler-Gadget oder über die Funktion Nach URL hinzufügen mehrmals hinzufügen. Ihre Gadgets sollten daher immer mehrere Instanzen unterstützen. |
| author_photo | Für die Autoren-Seite: eine URL zu Ihrem Foto. PNG mit einer Abmessung von 70 x 100 ist das bevorzugte Format, JPG-/GIF-Bilder werden jedoch auch unterstützt. |
| author_aboutme | Für die Autoren-Seite: eine kurze Vorstellung zu Ihrer Person (etwa 500 Zeichen). |
| author_link | Für die Autoren-Seite: ein Link zu Ihrer Website, Ihrem Blog usw. |
| author_quote | Für die Autoren-Seite: ein kurzes Zitat (etwa 300 Zeichen). |
Damit bestimmte Gadget-API-Funktionen wie dynamische Höhe und Speicherstatus eingesetzt werden können, müssen Sie mit dem Tag <Require> (im Abschnitt <ModulePrefs>) die entsprechende JavaScript-Bibliothek laden. Das Tag <Require> verfügt über das erforderliche Attribut feature, dessen Wert die jeweilige Funktionsbibliothek angibt. Beispiel:
<ModulePrefs
title="Set Userprefs Demo">
<Require feature="dynamic-height"/>
<Require feature="setprefs" />
</ModulePrefs>
Weitere Informationen zu Funktionsbibliotheken finden Sie unter Funktionsspezifische JavaScript-Bibliotheken.
Mit den <Locale>-Tags im Abschnitt <ModulePrefs> können Sie die von Ihrem Gadget unterstützten Gebietsschemata festlegen. Darüber hinaus können Sie mit diesen Tags Message Bundles wie unter Google Gadgets und Internationalisierung beschrieben erstellen.
Der folgende Codeausschnitt gibt beispielsweise zwei verschiedene Gebietsschemata an:
<ModulePrefs …> <Locale lang="en" country="us" /> <Locale lang="ja" country="jp" /> </ModulePrefs>
Die Attribute "lang" (Sprache) and "country" (Land) sind optional, bei jedem <Locale>-Tag muss jedoch mindestens eines von beiden angegeben werden. Wird keines der Attribute festgelegt, entspricht dies den Werten "*" und "ALL". Wenn Sie ein Land, aber keine Sprache angeben, wird davon ausgegangen, dass Ihr Gadget alle diesem Land zugeordneten Sprachen unterstützt. Ebenso wird angenommen, dass Ihr Gadget alle einer Sprache zugeordneten Länder unterstützt, wenn Sie eine Sprache, aber kein Land festlegen.
Klicken Sie hier, um eine Liste der akzeptablen Werte für "lang" und "country" aufzurufen.
Es gibt einige Ausnahmen zu den üblichen Regeln für Sprachen:
In der folgenden Tabelle finden Sie eine Übersicht über die Attribute im Abschnitt <Locale>.
| Attribut | Beschreibung |
|---|---|
| lang | Optionaler Eintrag, der die dem Gebietsschema zugeordnete Sprache angibt. |
| country | Optionaler Eintrag, der das dem Gebietsschema zugeordnete Land angibt. |
| messages | Optionaler Eintrag, der eine URL angibt, die auf ein Message Bundle verweist. Message Bundles sind XML-Dateien, die die übersetzten Strings für ein bestimmtes Gebietsschema enthalten. Weitere Informationen hierzu finden Sie unter Google Gadgets und Internationalisierung. |
Wenn Sie keine weiteren Angaben für <Locale> machen, wird standardmäßig "US" plus Englisch verwendet.
Nicht alle Gadgets können in allen Umgebungen ausgeführt werden. So kann ein Gadget beispielsweise einen bestimmten Browser oder spezifische Software erfordern. Mit dem Tag <MayRequire> können Sie Informationen bereitstellen, welche Voraussetzungen für Ihr Gadget erfüllt sein müssen. Beispiel:
<ModulePrefs …>
<MayRequire type="plugin" value="quicktime"/>
<MayRequire type="browser" value="firefox" min_version="1.06"/>
<MayRequire type="platform"
value="windows"> This gadget uses a Windows API.
</MayRequire>
</ModulePrefs>
In der folgenden Tabelle finden Sie eine Übersicht über die Attribute im Abschnitt <MayRequire>.
| Attribut | Beschreibung |
|---|---|
| type | Erforderlicher Eintrag, der die Art der Voraussetzung angibt. Unterstützt werden die Angaben "platform", "browser" und "plugin". |
| value | Erforderlicher Eintrag, der einen Wert für die Art der Voraussetzung bereitstellt. Beispiel: type="plugin" value="flash" |
| min_version | Optionaler Eintrag, der die Mindestversion für das erforderliche Element festlegt. |
| cdata | Optionaler Eintrag, der weitere Informationen zur Voraussetzung bereitstellt. |
Bei einigen Gadgets ist es notwendig, dass Nutzer spezifische Informationen bereitstellen können. Bei einem Gadget für die Wettervorhersage müssen Nutzer ggf. die Postleitzahl angeben. Im Abschnitt für die Benutzereinstellungen in der XML-Datei (<UserPref>) werden die Benutzereingabefelder beschrieben, die im ausgeführten Gadget zu Steuerelementen der Benutzeroberfläche werden.
In der folgenden Tabelle finden Sie eine Übersicht über die Attribute im Abschnitt <UserPref>.
| Attribut | Beschreibung |
|---|---|
| name | Erforderlicher "symbolischer" Name der Benutzereinstellung. Wird bei der Bearbeitung angezeigt, sofern kein display_name definiert wurde. Diese Zeichenfolge darf nur Buchstaben, Ziffern und Unterstriche, also den regulären Ausdruck ^[a-zA-Z0-9_]+$ enthalten. Jede Zeichenfolge darf nur jeweils einmal verwendet werden. |
| display_name | Optionaler Eintrag, der im Bearbeitungsfenster neben den Benutzereinstellungen angezeigt wird. Jede Zeichenfolge darf nur jeweils einmal verwendet werden. |
| urlparam | Optionaler Eintrag zur Übergabe als Parameter beim Content-Typ type="url". |
| datatype | Optionaler Eintrag, der den Datentyp des Attributs angibt. Mögliche Werte sind string, bool, enum, hidden (eine Zeichenfolge, die unsichtbar oder nicht bearbeitbar ist), list (dynamisches, anhand der Eingabe erzeugtes Array) oder location (für Gadgets, die auf Google Maps basieren). Die Standardeinstellung ist string. |
| required | Optionales Boolesches Argument (true oder false), das angibt, ob die Benutzereinstellung ein Musswert ist. Die Standardeinstellung ist false. |
| default_value | Optionaler Eintrag, der den Standardwert der Benutzereinstellung angibt. |
Auf Benutzereinstellungen kann in Ihrem Gadget über das JavaScript-API für Benutzereinstellungen zugegriffen werden, zum Beispiel:
<script type="text/javascript">
// Must be constructed using the __MODULE_ID__ token. It gets replaced
// at runtime with the actual ID of your gadget.
var prefs = new _IG_Prefs(__MODULE_ID__);
var someStringPref = prefs.getString("StringPrefName");
var someIntPref = prefs.getInt("IntPrefName");
var someBoolPref = prefs.getBool("BoolPrefName");
</script>
Einer der möglichen Werte für das <UserPref>-Attribut datatype ist enum. Der Datentyp enum stellt in der Benutzeroberfläche ein Auswahlmenü dar. Sie legen den Inhalt des Menüs über <EnumValue> fest.
So können Nutzer beispielsweise mit dem folgenden <UserPref>-Abschnitt den Schwierigkeitsgrad bei einem Spiel auswählen. Jeder Wert im Menü (Easy, Medium und Hard) wird über ein <EnumValue>-Tag definiert.
<UserPref name="difficulty"
display_name="Difficulty"
datatype="enum"
default_value="4">
<EnumValue value="3" display_value="Easy"/>
<EnumValue value="4" display_value="Medium"/>
<EnumValue value="5" display_value="Hard"/>
</UserPref>
In der folgenden Tabelle finden Sie eine Übersicht über die Attribute im Abschnitt <EnumValue>.
| Attribut | Beschreibung |
|---|---|
| value | Erforderlicher Eintrag, der einen eindeutigen Wert bereitstellt. Dieser Wert wird im Menü im Bearbeitungsfeld für die Benutzereinstellungen angezeigt, sofern kein display_value angegeben wurde. |
| display_value | Optionaler Eintrag, der im Menü im Bearbeitungsfeld für die Benutzereinstellungen angezeigt wird. Wenn Sie keinen display_value festlegen, wird die Zeichenfolge von value in der Benutzeroberfläche angezeigt. |
Im Abschnitt <Content> wird die Art des Inhalts definiert. Dieser Abschnitt enthält entweder selbst den Inhalt oder einen Verweis auf externen Inhalt. Im Abschnitt <Content> werden die Attribute und Benutzereinstellungen des Gadgets mit Programmierlogik und Formatierungsinformationen kombiniert. Aus dieser Kombination ergibt sich das ausgeführte Gadget. Weitere Informationen zu Content-Typen finden Sie unter Auswählen eines Content-Typs.
In der folgenden Tabelle finden Sie eine Übersicht über die Attribute im Abschnitt <Content>.
| Attribut | Beschreibung |
|---|---|
| type | Optionaler Eintrag, der den Content-Typ angibt. Mögliche Werte sind html, html-inline und url. Die Standardeinstellung ist html. |
| href | Eintrag, der eine Ziel-URL bereitstellt. Erforderlich bei type="url" und nicht zulässig bei den anderen Content-Typen. |
| cdata | Optionaler Eintrag. Enthält bei HTML den Basis-HTML-Code (raw HTML), der im iframe dargestellt wird. |
In diesem Abschnitt werden die vom Google Gadgets-API unterstützten JavaScript-Funktionen beschrieben Weitere Informationen zu den Voraussetzungen für die Verwendung der JavaScript-Bibliotheken finden Sie unter Verwenden von JavaScript-Bibliotheken mit unterschiedlichen Content-Typen.
Im Google Gadgets-API werden zwei Arten von JavaScript-Bibliotheken verwendet:
Die Basis-JavaScript-Bibliothek umfasst allgemeine Funktionen, die keiner spezifischen Funktion zugeordnet sind.
In der folgenden Tabelle wird der "userprefs"-Konstruktor mit den Funktionen aufgeführt, die Sie für ein "userprefs"-Objekt aufrufen können, nachdem dieses instanziiert wurde:
| Name | Beschreibung |
|---|---|
| _IG_Prefs() | Der Konstruktor für Benutzereinstellungen, zum Beispiel:var prefs = new _IG_Prefs();Bei dieser Funktion wird eine Gadget-ID ( __MODULE_ID__) wahlweise als Parameter herangezogen. Nur erforderlich bei Inline-Gadgets. |
| getString(userpref) | Ruft die angegebene userpref als Zeichenfolge ab. Bei Benutzereinstellungen mit dem Datentyp list wird der Inhalt des Arrays als einzelne Zeichenfolge aus Werten, die durch einen senkrechten Balken ( | ) getrennt sind, abgerufen. |
| getInt(userpref) | Ruft die angegebene userpref als Ganzzahl ab. |
| getBool(userpref) | Ruft die angegebene userpref als Booleschen Wert ab. |
| getArray(userpref) | Bei einer userpref vom Datentyp list wird der Inhalt als Array abgerufen. |
| set(userpref, value) | Legt den value für die angegebene userpref fest. Wenn Sie diese Funktion verwenden möchten, müssen Sie die setprefs-Bibliothek wie unter Setprefs-Bibliothek beschrieben in Ihr Gadget aufnehmen. Weitere Informationen zu dieser Funktion sowie ein Beispiel finden Sie unter Speichern des Status. |
| setArray(userpref, [value …]) | Bei einer userpref vom Datentyp list werden dem Array Elemente hinzugefügt. Wenn Sie diese Funktion verwenden möchten, müssen Sie die setprefs-Bibliothek wie unter Setprefs-Bibliothek beschrieben in Ihr Gadget aufnehmen. Weitere Informationen zu dieser Funktion finden Sie unter Verwenden des "list"-Datentyps. Beispiel: prefs.setArray("mylist", ["Apples","Oranges"]); |
| dump() | Zum Debuggen; verwendet document.writeln() zum Anzeigen aller verfügbaren Einstellungen. |
In der folgenden Tabelle werden die allgemeinen JavaScript-Methoden vorgestellt, die keinen bestimmten Benutzereinstellungen zugeordnet sind:
| Name | Beschreibung |
|---|---|
| _IG_FetchContent(url, func) | Ruft den Inhalt unter url ab. Anschließend wird func aufgerufen. Hinweis: _IG_FetchContent() ist eine asynchrone Funktion, was bedeutet, dass die Rückgabe unmittelbar erfolgt und die innere Funktion erst später, im Anschluss an den Fetch-Vorgang aufgerufen wird. Dies wiederum bedeutet, dass abhängiger Code innerhalb der Callback-Funktion bzw. innerhalb der Funktionen, die durch die Callback-Funktion aufgerufen werden, platziert werden muss. Weitere Informationen zu dieser Funktion finden Sie unter Arbeiten mit Text. |
| _IG_FetchXmlContent(url, func) | Ruft den XML-Inhalt unter url ab. Anschließend wird func aufgerufen. Dies ist wie _IG_FetchContent() eine asynchrone Funktion. Weitere Informationen zu dieser Funktion finden Sie unter Arbeiten mit XML. |
| _IG_FetchFeedAsJSON(url, func, num_entries, get_summaries) | Ruft den RSS- bzw. Atom-Feed-Inhalt unter url ab und gibt diesen als JSON-Objekt zurück. Anschließend wird func aufgerufen. Abgerufen wird die durch num_entries angegebene Anzahl von Feed-Einträgen (der Standardwert ist 3, der mögliche Bereich ist 1 bis 100). Wahlweise werden zudem Eintragszusammenfassungen abgerufen, je nachdem, welcher Wert für get_summaries festgelegt wurde (Standard = false). Dies ist wie _IG_FetchContent() eine asynchrone Funktion. Weitere Informationen zu dieser Funktion finden Sie unter Arbeiten mit Feeds. |
| _IG_RegisterOnloadHandler(func) | Ein Event-Handler, der beim Laden aufgerufen wird. Erhält ein einzelnes Argument, bei dem es sich um eine Funktion handelt, die aufgerufen wird, nachdem die Seite geladen wurde. Die übergebene Funktion erhält keine Argumente. Hinweis: Diese Methode wird nur für Inline-Gadgets verwendet, da iframe-Gadgets einfach beim Laden über die Funktion document.body.onload = … registriert werden können. Es folgen einige Beispiele: _IG_RegisterOnloadHandler(function() { alert("page loaded"); }); function onLoadFunc__MODULE_ID__() { alert("page loaded"); }); _IG_RegisterOnloadHandler(onLoadFunc__MODULE_ID__); |
| _gel(id) | Ein Wrapper für die JavaScript-Funktion document.getElementById(). |
| _esc(str) | Ein Wrapper für die JavaScript-Funktionen escape() und encodeURIComponent(). |
| _unesc(str) | Ein Wrapper für die JavaScript-Funktionen unescape() und decodeURIComponent(). |
| _trim(str) | Entfernt Leerräume am Anfang und Ende von str. |
| _gelstn(tagname) | Ein Wrapper für die JavaScript-Funktion document.getElementsByTagName(). |
| _uc(str) | Gibt str in Großbuchstaben zurück. |
| _min(val1, val2) | Gibt den niedrigeren Wert von val1 und val2 zurück bzw. val2, wenn beide Werte identisch sind. |
| _max(val1, val2) | Gibt den größeren Wert von val1 und val2 zurück bzw. val2, wenn beide Werte identisch sind. |
| _hesc(str) | Gibt die HTML-Zeichenfolge str zurück, wobei die folgenden Zeichen mit Escape-Zeichen maskiert werden: <>&'" |
| _args() | Gibt die Schlüssel-/Wertpaare für den URL-Parameter aus document.location als assoziatives Array zurück. Beispiel: "&foo=bar&up_cats=meow" würde als {"foo":"bar", "up_cats":"meow"} zurückgegeben. Das folgende Beispiel zeigt, wie Sie mit dieser Methode die Sprache oder das Land abrufen können: var lang = _args()["lang"]; if (typeof lang == "undefined") { lang = "en"; } |
| _toggle() | Zeigt ein HTML-Element an bzw. blendet es aus. |
Zum Google Gadgets-API gehören die folgenden Funktionsbibliotheken:
Wenn Sie eine bestimmte Funktionsbibliothek verwenden möchten, nehmen Sie sie mit dem Tag <Require> (im Abschnitt <ModulePrefs>) in Ihre Gadget-Spezifikation auf. Beispiel:
<ModulePrefs
title="My Tabbed Gadget">
<Require feature="tabs"/>
</ModulePrefs>
Im Folgenden werden die Funktionsbibliotheken genauer beschrieben.
Weitere Informationen zur Verwendung der setprefs-Bibliothek sowie Beispiele finden Sie unter Speichern des Status.
Damit die setprefs-Bibliothek verwendet wird, muss das Gadget unter <ModulePrefs> die folgende Zeile enthalten:
<Require feature="setprefs"/>
Die setprefs-Bibliothek umfasst die folgende Funktion:
set(userpref, value)
Diese Funktion wird für ein (in der Regel ausgeblendetes) "userprefs"-Objekt aufgerufen. Der Parameter userpref gibt den Namen der Benutzereinstellung an, der Parameter value legt den Wert fest, der der Benutzereinstellung zugewiesen wird. Beispiel:
var prefs = new _IG_Prefs(__MODULE_ID__);
prefs.set("score", 5000);
Weitere Informationen zur Verwendung der dynamic-height-Bibliothek sowie Beispiele finden Sie unter Festlegen der Gadget-Höhe.
Damit die dynamic-height-Bibliothek verwendet wird, muss das Gadget unter <ModulePrefs> die folgende Zeile enthalten:
<Require feature="dynamic-height" />
Die dynamic-height-Bibliothek umfasst eine Funktion, durch die das Gadget angewiesen wird, seine Größe zu ändern:
_IG_AdjustIFrameHeight()
Weitere Informationen zur Verwendung der tabs-Bibliothek sowie Beispiele finden Sie unter Registerkarten.
Damit die tabs-Bibliothek verwendet wird, muss das Gadget unter <ModulePrefs> die folgende Zeile enthalten:
<Require feature="tabs" />
In der folgenden Tabelle wird der tabs-Konstruktor mit den Funktionen aufgeführt, die Sie für ein tabs-Objekt aufrufen können, nachdem dieses instanziiert wurde:
| Funktion | Beschreibung |
|---|---|
| _IG_Tabs(module_id, opt_selected_tab) | Der Konstruktor, der eine neue Instanz des tabs-Objekts instanziiert. Der erste Parameter ist die __MODULE_ID__ des Gadgets. Der optionale Parameter opt_selected_tab ist der Name der Registerkarte, die standardmäßig beim ersten Laden des Gadgets ausgewählt wird. Wird dieser Parameter nicht angegeben, wird standardmäßig die erste Registerkarte ausgewählt. |
| addTab(tabName, opt_domId, opt_callback) | Fügt dem tabs-Objekt eine Registerkarte hinzu und gibt die DOM ID des zur Registerkarte gehörigen <div>-Elements zurück. Ist kein <div>-Element vorhanden, wird dieses von der tabs-Bibliothek erstellt. Der Parameter tabName gibt den Anzeigenamen der Registerkarte an. Der optionale Parameter opt_domId stellt die DOM ID des <div>-Elements, das den Inhalt dieser Registerkarte enthält, bereit. Der optionale Parameter opt_callback legt eine Callback-Funktion fest, die bei jeder Auswahl der Registerkarte ausgeführt wird. |
| addDynamicTab(tabName, callback) | Fügt dem tabs-Objekt eine Registerkarte hinzu, deren dynamischer Inhalt durch eine callback-Funktion bereitgestellt wird. Erstellt ein leeres <div>-Element und gibt dessen DOM ID zurück. Der Inhalt des <div>-Elements muss dynamisch in der callback-Funktion erzeugt werden. Der Parameter tabName gibt den Anzeigenamen der Registerkarte an. Der Parameter callback legt die callback-Funktion fest, die bei jeder Auswahl der Registerkarte aufgerufen wird. |
| setSelectedTab(tabIndex) | Wählt die durch tabIndex festgelegte Registerkarte aus und ruft die Callback-Funktion der Registerkarte auf, sofern eine solche angegeben wurde. Falls die Registerkarte bereits ausgewählt ist, wird der Callback übersprungen. Registerkarten werden ausgehend von null (0) indiziert. Die Indexnummer ist positionsabhängig. Wenn Sie die Position einer Registerkarte relativ zu anderen Registerkarten ändern, wird auch die Indexnummer entsprechend angepasst. |
| moveTab(tabIndex1, tabIndex2) | Tauscht die Positionen der Registerkarten für tabIndex1 und tabIndex2. Die ausgewählte Registerkarte bleibt gleich und es werden keine Callback-Funktionen aufgerufen. |
Weitere Informationen zur Verwendung der drag-Bibliothek sowie Beispiele finden Sie unter Ziehen.
Damit die drag-Bibliothek verwendet wird, muss das Gadget unter <ModulePrefs> die folgende Zeile enthalten:
<Require feature="drag" />
Die drag-Bibliothek umfasst die folgenden Callback-Funktionen:
| Callback-Funktion | Beschreibung |
|---|---|
| onDragStart = function(newSource) {} | Wird aufgerufen, wenn mit dem Ziehen begonnen wird. |
| onDragTargetHit = function(newTarget, lastTarget) {} | Wird während des Ziehens aufgerufen, wenn ein Ziel angetroffen wurde. |
| onDragTargetLost = function(lastTarget) {} | Wird während des Ziehens aufgerufen, wenn ein Ziel verlassen wurde. |
| onDragEnd = function(source, target) {} | Wird nach Abschluss des Ziehens aufgerufen, das heißt, nachdem die Maustaste losgelassen wurde. |
| onDragClick = function(source) {} | Wird aufgerufen, wenn die Maus nicht gezogen, jedoch auf eine Quelle geklickt wurde. |
In der folgenden Tabelle wird der drag-Konstruktor mit den Funktionen aufgeführt, die Sie für ein drag-Objekt aufrufen können, nachdem dieses instanziiert wurde. Bei den Quellen und Zielen handelt es sich um HTML-Elemente mit zugehörigen DOM IDs. Die Quellen und Ziele verfügen auch über drag-IDs. Wird keine drag-ID angegeben, verwendet die drag-Bibliothek die DOM ID als drag-ID.
| Funktion | Beschreibung |
|---|---|
| _IG_Drag() | Der drag-Konstruktor. Instanziiert ein drag-Objekt, dem Quellen und Ziele hinzugefügt werden können. |
| addSource(DOM_id) | Fügt dem drag-Objekt eine Quelle hinzu, wobei DOM_id die eindeutige Kennung für das als Quelle hinzugefügte HTML element ist. Wird keine drag-ID angegeben, verwendet die drag-Bibliothek die DOM ID des HTML-Elements als drag-ID. Beispiel:drag_obj.addSource("dom_id1"); |
| addSource(drag_id, HTML_element) | Fügt das HTML_element dem drag-Objekt als Quelle hinzu. Weist der Quelle eine drag_id zu. Beispiel: drag_obj.addSource("first", _gel("dom_id1")); |
| addSource(drag_id, HTML_element, surrogate) | Fügt das HTML_element dem drag-Objekt als Quelle hinzu. Weist der Quelle eine drag_id zu. Zu dieser Funktion gehört auch der Parameter surrogate, der angibt, welches HTML-Markup (HTML-Auszeichnung) für das Surrogat verwendet werden soll. Das surrogate ist ein leeres Objekt, das die Quelle im Laufe des Ziehvorgangs repräsentiert. Standardmäßig handelt es sich bei surrogate um einen Klon der Quelle. Beispiel:drag_obj.addSource("first", _gel("dom_id1"), "<b>This is my surrogate</b>"); |
| removeSource(drag_id) | Entfernt die durch drag_id festgelegte Quelle. |
| removeAllSources() | Entfernt alle Quellen aus dem drag-Objekt. |
| addTarget(DOM_id) | Fügt dem drag-Objekt ein Ziel hinzu, wobei DOM_id die eindeutige Kennung für das als Ziel hinzugefügte HTML-Element ist. Wird keine drag-ID angegeben, verwendet die drag-Bibliothek die DOM ID des HTML-Elements als drag-ID. |
| addTarget(drag_id, HTML_element) | Fügt das HTML_element dem drag-Objekt als Ziel hinzu. Weist dem Ziel eine drag_id zu. |
| addTarget(drag_id, HTML_element, priority) | Fügt das HTML_element dem drag-Objekt als Ziel hinzu. Weist dem Ziel eine drag_id zu. Der Parameter priority ist ein numerischer Wert, der die Priorität festlegt, falls sich Ziele überlappen. Bei einem Konflikt werden die Ziele mit der höheren Priorität ausgewählt. Standardmäßig weisen Ziele den Prioritätswert 0 auf. Falls zwei Ziele "getroffen" werden können, wird das Ziel mit der numerisch höheren Priorität ausgewählt. Ein Ziel mit Priorität 4 erhält beispielsweise den Vorzug vor einem Ziel mit Priorität 2. |
| removeTarget(drag_id) | Entfernt das durch drag_id festgelegte Ziel. |
| removeAllTargets() | Entfernt alle Ziele aus dem drag-Objekt. |
Die drag-Bibliothek bietet die folgenden Eigenschaften. Sie können auf diese Eigenschaften über ein drag-Objekt zugreifen. Beispiel:
if (drag_obj.isDragging == true) {
// do something
}
In der folgenden Tabelle finden Sie die schreibgeschützten Eigenschaften:
| Schreibgeschützte Eigenschaft | Beschreibung |
|---|---|
| isDragging | True, wenn die Maus gezogen wird. |
| hasDragged | True, wenn isDragging "true" ist und die Maus seit dem letzten mouseDown-Ereignis bewegt wurde. |
| surrogate | Zeigt auf das aktuelle Surrogat. |
| surrogateInitialX, surrogateInitialY | Ausgangspunkt des Surrogats zu Beginn des Ziehvorgangs. |
| curSource | Zeigt auf die aktuelle Quelle. Null, wenn die Maus nicht gezogen wird. |
| curTargetId | Enthält die ID des aktuellen Ziels. Null, wenn die Maus nicht gezogen wird. |
In der folgenden Tabelle finden Sie die anpassbaren Eigenschaften. Änderungen an diesen Eigenschaften wirken sich auf den Ziehvorgang aus. Diese Eigenschaften sollten nicht während des Ziehens geändert werden.
| Anpassbare Eigenschaft | Beschreibung |
|---|---|
| leftMargin, rightMargin, topMargin, bottomMargin | Jedes Ziel hat einen Rand. Durch Änderung dieses Werts können Sie die Reaktionsgeschwindigkeit des Ziels beeinflussen. Standardmäßig wird ein Rand von zwei Pixeln verwendet. |
| surrogateOffsetX, surrogateOffsetY | Sie können diese Werte so ändern, dass das Surrogat zu Beginn des Ziehvorgangs um einige Pixel versetzt wird. Der Standardwert ist 1 Pixel. Dieser Wert wird nicht auf 0 gesetzt, da die Nutzer bei einem Wert von 1 zu Beginn des Ziehvorgangs Feedback erhalten. |
Weitere Informationen zur Verwendung der grid-Bibliothek sowie Beispiele finden Sie unter Raster.
Damit die grid-Bibliothek verwendet wird, muss das Gadget unter <ModulePrefs> die folgende Zeile enthalten:
<Require feature="grid" />
Im Folgenden finden Sie eine Übersicht über die Funktionen der grid-Bibliothek.
Sie müssen die folgenden Backend-Funktionen implementieren, um die grid-Bibliothek verwenden zu können:
| Funktion | Beschreibung |
|---|---|
_IGG_getNormalView(index) |
Gibt den standardmäßigen HTML-Inhalt der Zelle an der index-Position zurück, der angezeigt wird, wenn die Maus nicht gezogen wird. |
_IGG_isDragSource(index) |
Gibt einen Booleschen Wert zurück, der anzeigt, ob das Element an der index-Position eine Quelle für den Ziehvorgang ist. |
_IGG_isDragTarget(index, sourceIndex) |
Gibt einen Booleschen Wert zurück, der anzeigt, ob das Element an der index-Position ein Ziel für den Ziehvorgang ist, wenn es sich bei sourceIndex um eine Quelle für den Ziehvorgang handelt. |
Die grid-Bibliothek ruft standardmäßig die Funktion getNormalView() auf, wenn der Inhalt einer Zelle angezeigt werden soll. Eventuell möchten Sie jedoch, dass der Inhalt einer Zelle auf das Ziehen mit der Maus reagiert und entsprechend angezeigt wird. In diesem Fall können Sie die folgenden optionalen Funktionen für das Backend-Objekt implementieren.
| Funktion | Beschreibung |
|---|---|
_IGG_getSurrogateView(index) |
Gibt den HTML-Inhalt der unter dem Mauszeiger zu sehenden Ersatzansicht zurück, wenn der Inhalt an der index-Position gezogen wird. |
_IGG_getSourceView(source, target) |
Gibt den HTML-Inhalt der Zelle zurück, die die source ist, wenn die Maus gezogen wird. Befindet sich der Mauszeiger über einem Ziel, enthält target die Indexposition des Ziels. Andernfalls lautet dieser Wert -1. |
_IGG_getTargetView(target, source) |
Gibt den HTML-Inhalt der Zelle zurück, wenn diese das target ist und die Maus gezogen wird. source ist die Indexposition der Quelle. |
_IGG_getPossibleTargetView(potential_target, source) |
Gibt den HTML-Inhalt der Zelle zurück, wenn diese ein potential_target, jedoch nicht das eigentliche Ziel ist und die Maus gezogen wird. source ist die Indexposition der Quelle. |
_IGG_getDragView(index, source) |
Gibt den HTML-Inhalt der Zelle an der index-Position zurück, wenn diese weder ein potenzielles Ziel noch die Quelle ist und die Maus gezogen wird. source ist die Indexposition der Quelle. |
Die grid-Bibliothek bietet die folgenden Funktionen, die es Ihrem Gadget ermöglichen, auf Mausklicks und Ziehen mit der Maus zu reagieren:
| Funktion | Beschreibung |
|---|---|
_IGG_handleClick(source) |
Wird aufgerufen, nachdem auf die source geklickt wurde, das heißt, im Anschluss an ein mouseDown- und mouseUp-Ereignis, ohne dass die Maus gezogen wurde. |
_IGG_handleDragStart(source) |
Wird aufgerufen, nachdem ein mouseDown-Ereignis auf der source eingetreten ist und der Ziehvorgang eingeleitet wurde. |
_IGG_handleDrag(source, target) |
Wird nach Abschluss des Ziehens aufgerufen. Wurde der Ziehvorgang über einem gültigen Ziel beendet, enthält target die Indexposition des Ziels. Andernfalls lautet der Wert -1. Hinweis: Wird _IGG_handleClick() aufgerufen, wird auch _IGG_handleDrag() aufgerufen. Je nach Anwendung ist es daher eventuell sinnvoller, nur _IGG_handleDrag() zu verwenden. |
Backend-Callback-Funktionen werden automatisch im Backend-Objekt erstellt. Die grid-Bibliothek ruft diese Funktionen wie benötigt auf, Sie können sie jedoch auch selbst aufrufen, zum Beispiel, wenn sich die Daten aufgrund eines Vorgangs, bei dem es sich nicht um einen Ziehvorgang handelt, ändern. Die grid-Bibliothek umfasst die folgenden Backend-Callback-Funktionen:
| Funktion | Beschreibung |
|---|---|
_IGG_refreshCell(index) |
Aktualisiert die Anzeige der Zelle an der index-Position. |
_IGG_refreshAll() |
Aktualisiert die Anzeige aller Zellen. Hinweis: Dieser Vorgang kann sehr lange dauern, vor allem bei großen, komplexen Rastern. |
Die grid-Bibliothek enthält die unten aufgeführten Rasterobjektfelder und -funktionen. Sie können auf diese Felder und Funktionen über ein Rasterobjekt zugreifen. Beispiel:
document.getElementById("summary").innerHTML = "In the grid " + mygrid.name +
" the HTML content of the source is " + mygrid.getCellValue(mygrid.source);
Sie können auf die folgenden Felder und Funktionen über das Rasterobjekt zugreifen:
| Funktion | Beschreibung |
|---|---|
initDragging() |
Ermöglicht Ziehvorgänge im Raster. |
dataObject |
Das Backend-Objekt. |
name |
Das Präfix, das allen durch das Raster erstellten DOM IDs vorangestellt wird. |
height, width |
Die Höhen- und Breitenparameter für das Raster. |
maxIndex |
Der größte Indexwert der Zellen. Dies ist in der Regel die Höhe mal Breite minus eins, es kann jedoch auch eine größere Zahl sein, wenn Sie mit getCell() gesonderte Zellen erstellen. |
source |
Die Indexposition der aktuellen Quelle. Der Wert lautet -1, wenn die Maus nicht gezogen wird. |
target |
Die Indexposition des aktuellen Ziels. Der Wert lautet -1, wenn die Maus nicht gezogen wird und sich nicht über einem Ziel befindet. |
getCellName(index) |
Gibt die DOM ID des SPAN-Elements zurück, das den Inhalt der Zelle an der index-Position enthält. |
getCellTDID(index) |
Gibt die DOM ID des TD-Elements zurück, welches das SPAN-Element enthält, das den Inhalt der Zelle an der index-Position enthält. |
getCellValue(index) |
Gibt den HTML-Inhalt der Zelle an der index-Position zurück. |
getTable() |
Gibt die DOM-Tabelle, welche die Zelle enthält, zurück. |
getCell(index) |
Gibt die Zelle an der index-Position zurück. Ist die Indexposition < 0, wird null zurückgegeben. Ist die Indexposition > maxIndex, wird eine neue Zelle mit diesem Index erstellt. Dies ermöglicht das Erstellen von Zellen außerhalb der Tabelle. |
makeNewTable() |
Baut die DOM HTML-Tabelle vollständig neu auf. Hinweis: Eventuell müssen Sie die neue Tabelle mit Ihrem DOM-Baum verbinden. Dies kann die Seite verlangsamen, da die alte Tabelle erst von einem Garbage Collector entfernt werden muss. |
table |
Direkter Zugriff auf die DOM HTML-Tabelle. Ggf. lohnt sich die Verwendung von getTable() anstelle einer Änderung. |
cells |
Direkter Zugriff auf das Array mit den DOM-Zellen. Ggf. lohnt sich die Verwendung von getCell() anstelle einer Änderung. |
dragHandler |
Das _IG_Drag-Objekt (siehe drag-Bibliothek) zur Steuerung des Ziehverhaltens im Raster. |
setXMapper, setYMapper |
Ändert die Zuordnungen im internen _IG_Drag-Objekt. |
isRightButton |
Gibt true zurück, wenn beim letzten Ziehvorgang die rechte Maustaste verwendet wurde. |
refreshCell(index) |
Aktualisiert die Zelle an der index-Position. Dies entspricht der Callback-Funktion _IGG_refreshCell(). |
refreshAll() |
Aktualisiert alle Zellen. Dies entspricht der Callback-Funktion _IGG_refreshAll(). |
refreshDragSources() |
Erzwingt eine Neuberechnung aller Zellen, um festzustellen, bei welchen Zellen es sich um Quellen handelt. Diese werden dann beim zugrunde liegenden drag-Objekt registriert. |
refreshDragTargets(sourceIndex) |
Aktualisiert alle Zellen, bei denen es sich um Ziele der Quelle an der sourceIndex-Position handelt. Hinweis: Die Ziele werden nicht beim zugrunde liegenden drag-Objekt registriert. |
refreshDragNonTargets(sourceIndex) |
Aktualisiert alle Zellen, bei denen es sich nicht um Ziele der Quelle an der sourceIndex-Position handelt. |
addDragSource(index) |
Fügt eine Zelle als gültige Quelle hinzu, auch wenn von isDragSource der Wert false zurückgegeben wurde. |
removeDragSource(index) |
Entfernt eine Zelle als gültige Quelle, auch wenn von isDragSource der Wert true zurückgegeben wurde. |
removeDragSource(index) |
Entfernt eine Zelle als gültige Quelle, auch wenn von isDragSource der Wert true zurückgegeben wurde. |
calculateDragTargets(sourceIndex) |
Alle Ziele der Quelle an der sourceIndex-Position werden beim zugrunde liegenden drag-Objekt registriert. |
Wenn Sie den dragHandler im Rasterobjekt überschreiben, werden gelegentlich Elemente gezogen, die nicht vom Raster verarbeitet werden können. In diesem Fall versucht das Raster, diese Funktionen im Backend-Objekt aufzurufen, sofern sie vorhanden sind. Genaue Informationen zur Funktionsweise dieser Funktionen finden Sie unter drag-Bibliothek.
_IGG_handleOnDragStart(object) _IGG_handleOnDragTargetHit(object) _IGG_handleOnDragTargetLost() _IGG_handleOnDragEnd(object, object) _IGG_handleOnDragClick(object) Weitere Informationen zur Verwendung der MiniMessage-Bibliothek sowie Beispiele finden Sie unter MiniMessages.
Damit die MiniMessage-Bibliothek verwendet wird, muss das Gadget unter <ModulePrefs> die folgende Zeile enthalten:
<Require feature="minimessage" />
In der folgenden Tabelle wird der MiniMessage-Konstruktor mit den Funktionen aufgeführt, die Sie für ein MiniMessage-Objekt aufrufen können, nachdem dieses instanziiert wurde:
| Funktion | Beschreibung |
|---|---|
| _IG_MiniMessage(moduleId, opt_container) | Der MiniMessage-Konstruktor. Instanziiert ein neues MiniMessage-Objekt. Übernimmt die __MODULE_ID__ des Gadgets als Parameter. Außerdem erhält der Konstruktor wahlweise einen opt_container-Parameter, der ein HTML-Element (in der Regel ein <div>-Element) angibt, an das Meldungen angehängt werden. Wird opt_container weggelassen, wird automatisch ein standardmäßiger Meldungscontainer erstellt und an den Anfang des Gadgets gestellt. Beispiel: var mini = new _IG_MiniMessage(__MODULE_ID__, _gel("messageContainer")); |
| createDismissibleMessage(msg, opt_callback) | Erstellt eine Meldung, die geschlossen werden kann. Der Parameter msg ist eine HTML-Zeichenfolge oder ein HTML-Element. Die Meldung enthält einen anklickbaren Link [x], mit dem die Meldung geschlossen (entfernt) werden kann. Wird die Meldung geschlossen, wird sie aus dem DOM gelöscht und die optionale Callback-Funktion opt_callback aufgerufen. Gibt die Callback-Funktion "false" zurück, wird das Schließen der Meldung abgebrochen. Beispiel: mini.createDismissibleMessage("Loading message"); mini.createDismissibleMessage(_gel("loading")); |
| createTimerMessage(msg, seconds, opt_callback) | Erstellt eine zeitlich begrenzte Meldung, die eine bestimmte Anzahl von seconds lang angezeigt wird. Der Parameter msg ist eine HTML-Zeichenfolge oder ein HTML-Element. Läuft die zeitliche Begrenzung ab, wird das Schließen der Meldung eingeleitet und die optionale Callback-Funktion opt_callback ausgeführt. Gibt die Callback-Funktion "false" zurück, wird das Schließen der Meldung abgebrochen. Beispiel: mini.createTimerMessage("Your account has been updated.", 5); |
| createStaticMessage(msg) | Erstellt eine statische Meldung, die so lange angezeigt wird, bis sie programmatisch durch dismissMessage(msg) geschlossen wird. Der Parameter msg ist eine HTML-Zeichenfolge oder ein HTML-Element. Beispiel: var loadMsg = mini.createStaticMessage("Loading content …"); |
| dismissMessage(msg) | Schließt die angegebene Meldung msg. Diese Funktion bietet die einzige Möglichkeit, eine statische Meldung zu schließen. Beispiel: var loadMsg = mini.createStaticMessage("Loading content …"); mini.dismissMessage(loadMsg); |
Weitere Informationen zur Verwendung der analytics-Bibliothek sowie Beispiele finden Sie unter Verwenden von Analytics.
Damit die analytics-Bibliothek verwendet wird, muss das Gadget unter <ModulePrefs> die folgende Zeile enthalten:
<Require feature="analytics" />
Die analytics-Bibliothek umfasst die folgende Funktion:
| Funktion | Beschreibung |
|---|---|
| _IG_Analytics(id, path) | Erfasst einen einzelnen Seitenzugriff für ein Google Analytics-Konto. Unterstützt mehrere Aufrufe in einem Gadget. Der Parameter id ist die ID eines Google Analytics-Kontos. Der Parameter path ist der virtuelle Pfad für den Seitenzugriff, der mit jedem Aufruf an Google Analytics gemeldet wird. Verwenden Sie einen eindeutigen Namen, damit Sie in den Analytics-Berichten die Seitenzugriffe für die einzelnen Gadgets voneinander unterscheiden können. Beispiel: _IG_Analytics("UA_000000-0", "/weathergadget"); |
Wird die Gadget-URL von einer iGoogle-Seite angefordert, werden Parameter an die Anforderung angefügt (GET-Methode). Dies gilt nur, wenn als Content-Typ "url" gewählt wurde. Weitere Informationen finden Sie unter URL. Diese Parameter können mittels JavaScript von einem Gadget oder von einer serverseitigen Webanwendung gelesen werden. Ein Beispiel finden Sie im Abschnitt URL.
In der folgenden Tabelle sind die übergebenen Parameter aufgeführt:
| Name | Beschreibung |
|---|---|
| up_<name> | Eine Benutzereinstellung und ihr Wert. Für jede Benutzereinstellung wird das Name-/Wertpaar als Parameter im folgenden Format übergeben: &up_<name>=<value> Beispiel: Sie haben den Parameter für die Postleitzahl zp, dem der Wert 94306 zugewiesen wird. Dieser wird in der URL wie folgt übergeben: &up_zp=94306 |
| lang | Die Spracheinstellung des Nutzers wie im Browser festgelegt. |
| country | Das Land des Nutzers wie im entsprechenden Google-Konto definiert. |
Aktualisiert am: