2Google Gadgets Editor Google Gadgets Editor
Defining User Preferences Definování Uživatelské nastavení
Some gadgets need to give users a way of supplying user-specific information. Některé gadgety potřeba dát uživatelům způsob, jak dodávat uživateli-specifické informace. For example, a game gadget might allow users to enter a preferred level of difficulty. Například, hra gadget by mohl umožnit uživatelům zadat preferovanou úroveň obtížnosti. The user preferences ( <UserPref>
) section in the XML file describes the user input fields that are turned into user interface controls when the gadget runs. Uživatel preferencí (<UserPref>)
oddílu v XML soubor popisuje uživatelské vstupní pole, které se změní v uživatelské rozhraní, ovládací prvky, kdy modulu se spustí. User preferences are stored persistently. Uživatelské preference jsou uloženy trvale.
For example, this gadget displays a personal greeting based on the time of day. Například tento gadget zobrazuje osobní pozdrav založené na denní době. It lets users specify the following: Umožňuje uživatelům zadat následující:
- A name to use in the greeting. Jmenný k použití při pozdravu. The name is also displayed in the title bar. Tento název se také zobrazí v záhlaví okna.
- A background color. Barvu pozadí.
- Whether to display a photo. Ať už chcete zobrazit fotografie.
This is an example of the running gadget: To je příklad provozních gadget:
Preferences for __UP_myname__ | |
Gadgety od Google |
This is what the gadget looks like when the user clicks edit to modify the user preferences: To je to, co gadget vypadá, když uživatel klikne na editovat změnit uživatelské předvolby:

The user preferences that get turned into user interface controls in the running gadget are defined in the XML specification as follows: Uživatel preference, že se změní v uživatelské rozhraní kontroly v provozní miniaplikace jsou definovány ve specifikaci XML takto:
<?xml version="1.0" encoding="UTF-8" ?> <Module> <ModulePrefs title="Preferences for __UP_myname__" height="250" /> <? xml version = "1,0" encoding = "UTF-8"?> <Module> <ModulePrefs title="Preferences pro __UP_myname__" height="250" />
<UserPref name="myname" display_name="Name" required="true" /> <UserPref Name="myname" display_name="Name" required="true" />
<UserPref name="myphoto" display_name="Photo" default_value="http://doc.examples.googlepages.com/Rowan-headshot.jpg"/> <UserPref Name="myphoto" display_name="Photo" default_value="http://doc.examples.googlepages.com/Rowan-headshot.jpg"/>
<UserPref name="mychoice" display_name="Show Photo?" <UserPref name = "mychoice" display_name = "Zobrazit fotografii?" datatype="bool" default_value="true"/> datový = "bool" default_value = "true" />
<UserPref name="mycolor" display_name="Color" default_value="Yellow" datatype="enum" > <EnumValue value="Red" /> <EnumValue value="Aqua" /> <EnumValue value="Lime" /> <EnumValue value="Yellow" /> <EnumValue value="Pink" /> <EnumValue value="Orange" /> <EnumValue value="White" /> </UserPref> <UserPref Name="mycolor" display_name="Color" default_value="Yellow" datatype="enum"> <EnumValue value="Red" /> <EnumValue value="Aqua" /> <EnumValue value="Lime" /> <EnumValue Value="Yellow" /> <EnumValue value="Pink" /> <EnumValue value="Orange" /> <EnumValue value="White" /> </ UserPref>
Note the following: Poznamenejte si následující:
- Line 3 of the file contains the text
title="Preferences for __UP_myname__"
. Řádek 3 na soubor obsahuje texttitle = "Nastavení pro __UP_myname__".
When you run the gadget, the value supplied for the user preference myname is dynamically substituted for__UP_myname__
. Při spuštění modulu se hodnota dodaného pro uživatelské preference myName je dynamicky se nahrazuje__UP_myname__.
- The myname user preference is marked as "required." Na myName uživatel přednost je označena jako "povinné". If the user tries to run the gadget without supplying a value for this field, the user preferences edit box remains open until a value is provided. Pokud se uživatel pokusí o spuštění modulu se bez dodávání hodnotu pro toto pole, uživatelské nastavení upravit okno zůstane otevřené do doby, než je hodnota je zajištěno.
- The user preference mychoice has a
bool
data type. Uživatel preference mychoice má datový typbool.
This is displayed in the user interface as a checkbox. Toto je zobrazeno v uživatelském rozhraní jako zaškrtávací pole. - The user preference mycolor has an
enum
data type. Uživatel preference mycolor má datový typenum.
The list ofEnumValues
specifies the choices that appear in a drop-down menu in the user preferences edit box. SeznamEnum
určuje volby, které se objevují v poklesu-menu v uživatelském nastavení editačním oknem.
Here is the JavaScript that displays the greeting for the gadget: Zde je JavaScript, který zobrazuje pozdrav pro gadget:
<Content type="html"> <Content Type="html">
<![CDATA[ <! [CDATA [
<div id="content_div" style="font-size:12pt; padding:5px;"> <div id="content_div" style="font-size:12pt; padding:5px;">
<script type="text/javascript"> <script type="text/javascript">
// Get userprefs / / Získání userprefs
var prefs = new _IG_Prefs(); var prefs = new _IG_Prefs ();
// Based on user input, display personal greeting / / Na základě uživatelských vstupů, displej osobní pozdrav
function displayGreeting (){ Funkce displayGreeting () (
// Create Date object / / Data vytvoření objektu
var today = new Date(); var dnes = new Date ();
// Get current time. / / Získat aktuální čas.
var time = today.getTime(); var time = today.getTime ();
var salutation; var pozdrav;
// Based on the time of day, display an appropriate greeting / / Na základě denní doby, displej vhodný pozdrav
var hour = today.getHours(); var hodin = today.getHours ();
if (hour < 12) if (hodiny <12)
salutation = "Morning"; pozdrav = "Dobré ráno";
else if (hour > 17) else if (hodin> 17)
salutation = "Evening"; pozdrav = "Dobrý večer";
else salutation = "Afternoon"; jinak pozdrav = "Odpoledne";
// Build HTML string to display message / / Sestavení HTML řetězec, který zobrazí zprávu
var html = ""; var html = "";
var element = document.getElementById('content_div'); var prvek = document.getElementById ( 'content_div');
element.style.height=250; element.style.height = 250;
// Set the background color according to the mycolor userpref / / Nastavit barvu pozadí v závislosti na mycolor UserPref
element.style.backgroundColor=prefs.getString("mycolor"); element.style.backgroundColor = prefs.getString ( "mycolor");
// Display a greeting based on the myname userpref / / Zobrazí pozdrav založena na myName UserPref
html += "<br><h2>Good " + salutation + ", " + prefs.getString("myname") + "!!!</h2><br>"; html + = "<br> <h2> Good" + pozdrav + "," + prefs.getString ( "myName") + "!!!</ h2> <br> ";
// If the "Show Photo?" / / Pokud je "Zobrazit fotografii?" checkbox is checked, display photo. políčko je kontrolována, zobrazování fotografií.
if (prefs.getBool("mychoice")==true) if (prefs.getBool ( "mychoice") == true)
{ (
html += '<img src="' + prefs.getString("myphoto") + '">'; html + = '<img src="' + prefs.getString("myphoto") +'">';
} )
_gel("content_div").innerHTML = html; _gel ( "content_div"). innerHTML = html;
} )
_IG_RegisterOnloadHandler(displayGreeting); _IG_RegisterOnloadHandler (DisplayGreeting);
</script> </ script>
]]>
</Content> </ Obsah>
For a list of all the <UserPref>
attributes, see the Reference . Pro seznam všech <UserPref>
atributy, viz Reference.
User preferences are accessed from your gadget using the user preferences JavaScript API, for example: Uživatelské preference jsou přístupné ze svého gadget pomocí uživatelských preferencí JavaScript API, například:
<script type="text/javascript"> var prefs = new _IG_Prefs(); var someStringPref = prefs.getString("StringPrefName"); var someIntPref = prefs.getInt("IntPrefName"); var someBoolPref = prefs.getBool("BoolPrefName"); </script> <script type="text/javascript"> var prefs = new _IG_Prefs (); var someStringPref = prefs.getString ( "StringPrefName"); var someIntPref = prefs.getInt ( "IntPrefName"); var someBoolPref = prefs.getBool ( " BoolPrefName "); </ script>
For a list of all of the JavaScript functions, see the Reference . Pro seznam všech JavaScript funkcí, viz Reference.
Note: If you store sensitive private user data in a gadget's user preferences, we suggest that you use the locked-domain feature. Poznámka: Pokud jste úložiště soukromých citlivých uživatelských dat v gadget v uživatelské předvolby, doporučujeme vám použít uzamčena-domény funkce.
User Preference Substitution Variables Uživatel Preference Substituční Proměnné
You can use a substitution variable of the format __UP_ userpref __
in the <ModulePrefs>
or <UserPref>
sections, where userpref
matches the name attribute of a user preference. Můžete použít náhradní proměnné z formátu __UP_ UserPref __
v <ModulePrefs>
nebo <UserPref>
úseků, kde UserPref
odpovídá názvu atributu a preferencí uživatele. When the gadget runs, the string value of the corresponding user preference is substituted for the variable, unescaped. Když modulu se spouští se řetězec hodnotu odpovídající uživatelské předvolby je náhradou za proměnnou, unescaped. For example, in this excerpt, the value the user supplies at run time for the projects user preference is substituted for __UP_projects__
in the title_url string: Například v tomto výpisu se hodnota uživatel dodávky na běh času pro projekty uživatelské předvolby je nahrazeno __UP_projects__
v title_url řetězec:
<Module> <ModulePrefs title="Build Monitor" title_url="http://www.example.com/build/status.php?__UP_projects__"/> <UserPref name="projects" display_name="project(s)"/> <Content ... <Module> <ModulePrefs Title="Build Monitor" title_url="http://www.example.com/build/status.php?__UP_projects__"/> <UserPref name = "projekty" display_name = "projektu (s)" / > <Obsah ... /> </Module> /> </ Modul>
You can see another example of this in the user preferences sample . Můžete vidět další příklad tohoto v uživatelském nastavení vzorku.
Here are the general guidelines for using user preference substitution variables: Zde jsou obecné pokyny pro používání uživatelských preferencí substituční proměnné:
- For the
<ModulePrefs>
title attribute, use__UP_ name __
. Pro<ModulePrefs>
název atributu, použijte__UP_ jméno __.
This is HTML-escaped . Toto je HTML-utekl. - For the
<ModulePrefs>
title_url attribute, use__UP_ name __
. Pro<ModulePrefs>
title_url atribut, použijte__UP_ jméno __.
This is URL-escaped . Toto je URL-utekl. - In HTML within the
<Content>
section , use__UP_ name __
. V HTML ve<Content>
sekce, použijte__UP_ jméno __.
This is HTML-escaped. Toto je HTML-utekl. - In JavaScript code within
<Content>
section, use the_IG_Prefs()
function. V JavaScript kódu do<Content>
sekce, použijte_IG_Prefs ()
funkce.
Defining Gadget Preferences Definování Gadget Nastavení
The <ModulePrefs>
section in the XML file specifies characteristics of the gadget, such as title, author, preferred sizing, and so on. Na <ModulePrefs>
sekce v XML souboru určuje vlastnosti modulu gadget, jako jsou název, autor, preferované velikosti, a tak dále. For example: Například:
<Module>
<ModulePrefs title="Today's Network Traffic" title_url="http://www/~rowan/gadgets/stats/" <ModulePrefs title = "Dnešní síťového provozu" title_url = "http://www/ ~ jeřabina / gadgetů / statistiky /"
height="200" author="Jane Smith" author_email="xxx@google.com"/> výška = "200" author = "Jane Smith" author_email = "xxx@google.com" />
<Content ...> <Content ...>
... content ... obsah ...
</Content> </ Obsah>
</Module> </ Modul>
The users of your gadget cannot change these attributes. Uživatelé váš gadget nemůže změnit tyto atributy.
For a full list of the <ModulePrefs>
attributes, see the Reference . Pro úplný seznam k <ModulePrefs>
atributy, viz Reference.
Remember: Gadgets are Public Pamatujte si: Gadgets jsou veřejné
Remember that there is no such thing as a private gadget. Nezapomeňte, že neexistuje žádná taková věc, jako soukromý gadget. Once you publish your gadget on a public website, people can find it and view it. Až budete publikovat svůj gadget na veřejné internetové stránce, mohou lidé najít a zobrazit je. Be sure not to include personal information, such as your telephone number or personal email address. Ujistěte se nesmí obsahovat osobní informace, jako je například vaše telefonní číslo či osobní e-mailovou adresu.
What if you don't want your gadget to be public? Co když nechcete, aby vaše miniaplikace, které mají být veřejnosti? We encourage gadget authors to share their specifications. Budeme rádi, gadget autorů sdílet jejich specifikace. However, if you want to minimize your gadget's public visibility before you are ready to release it, here are some tips: Pokud však chcete, aby se minimalizovalo váš gadget na veřejné viditelnosti, abyste byli připraveni na její uvolnění, zde je několik tipů:
- Don't submit your gadget to the content directory or post it to directories like googlemodules.com or hotmodules.com . Nepředloží váš gadget na obsah adresáře nebo po ní do adresáře googlemodules.com nebo hotmodules.com.
- If people can't find your gadget, it's unlikely that they'll guess the URL. Pokud se lidé nemohou najít váš gadget, je to nepravděpodobné, že se budeme hádat URL. There are some subtleties to avoid getting crawled by search engines: Existují určité jemnosti, aby se zabránilo získávání procházet pomocí vyhledávačů:
- Make sure your web server doesn't provide a file listing that includes your file (this also avoids users snooping). Přesvědčte se, zda váš web serveru neposkytuje soubor, který obsahuje seznam vašich souborů (to také zabraňuje uživatelům snooping).
- Make sure there are no web hyperlinks to your gadget Ujistěte se, že neexistují žádné internetové odkazy na váš gadget
Where to Go From Here Co dělat teď
When you're ready to write more complex gadgets, go to Development Fundamentals , or back to the documentation home page for an overview of sections and topics. Až budete připraveni psát složitější moduly gadget, jděte na rozvoj Základy, nebo zpět k dokumentaci domovskou stránku na přehled sekcí a témat.