Odpovědi html. Popis objektu Response

Překlad: Vlad Merzhevich

Každý zná webové formuláře, že? Vložíme štítek, několik, možná, vše doplníme tlačítkem a máte hotovo.

Neznáte polovinu. HTML5 definuje více než tucet nových typů polí, které můžete použít ve formulářích. A když říkám „použít“, myslím, že je lze použít okamžitě – bez jakýchkoli triků, hacků nebo řešení. Nebojte se příliš, neříkám, že všechny tyto vzrušující nové funkce jsou skutečně podporovány v každém prohlížeči. Absolutně ne, tím nemyslím všechny. V moderních prohlížečích ano, vaše formuláře zobrazí vše, čeho jsou schopny. Ale ve starších prohlížečích budou vaše formuláře stále fungovat, i když ne naplno. To znamená, že tyto funkce se v každém prohlížeči ladně zhoršují. Dokonce i v IE6.

Výzvový text Rychlá textová podpora
TJ. Firefox Safari Chrome Opera iPhone Android
- 4.0+ 4.0+ 4.0+ 11.0+ 4.0+ -

Prvním vylepšením HTML5 ohledně formulářů je možnost nastavit text výzvy ve vstupním poli. Tento text se zobrazí ve vstupním poli, pokud je pole prázdné a není aktivní. Jakmile kliknete do vstupního pole (nebo do něj přejdete přes Tab), text nápovědy zmizí.

Pravděpodobně jste již viděli text výzvy. Například Mozilla Firefox obsahuje v adresním řádku sugestivní text, který říká „Prohledat záložky a historii“.

Když kliknete na adresní řádek, text nápovědy zmizí.

Zde je návod, jak můžete do formulářů zahrnout sugestivní text.




Prohlížeče, které nepodporují zástupný atribut, jej jednoduše ignorují. Žádná újma ani porušení.

Zeptejte se profesora Markupa

☞ Otázka: Mohu pro zástupný atribut použít značku HTML? Chci vložit obrázek nebo možná změnit barvy.

A. Atribut zástupného symbolu může obsahovat pouze text, žádný kód HTML. Existují však speciální CSS rozšíření, která umožňují nastavit styl textu v některých prohlížečích.

Pole autofokusu Podpora automatického ostření
TJ. Firefox Safari Chrome Opera iPhone Android
- - 4.0+ 3.0+ 10.0+ - -

Webové stránky mohou používat JavaScript, aby se automaticky zaměřily na první pole formuláře. Například na hlavní stránce Google.com Pole pro zadávání hledaných klíčových slov má automatické ostření. I když je to pohodlné pro většinu lidí, může to být nepříjemné pro pokročilé uživatele a lidi se speciálními potřebami. Pokud stisknete mezerník při čekání na posunutí stránky, nedojde k posouvání, protože fokus je na vstupním poli formuláře (místo posouvání se do pole napíše mezera). Pokud během načítání stránky přesunete fokus na jiné vstupní pole, skript automatického ostření na webu může „pomocně“ přesunout fokus zpět do původního vstupního pole, čímž přeruší vaše psaní a způsobí, že budete psát na nesprávném místě.

Protože automatické ostření funguje prostřednictvím JavaScriptu, může být obtížné zvládnout tyto extrémní případy a málo možností pro ty lidi, kteří nechtějí, aby jim webová stránka „ukradla“ zaměření.

K vyřešení těchto problémů zavádí HTML5 atribut autofocus pro všechny prvky formuláře. Atribut autofocus dělá přesně to, co zní: jakmile se stránka načte, přesune fokus na zadané pole. Ale protože se jedná pouze o označení a ne o skript, bude chování konzistentní na všech webech. Výrobci prohlížečů (nebo autoři rozšíření) navíc mohou uživatelům nabídnout způsob, jak deaktivovat automatické ostření.

Zde je návod, jak nastavit pole formuláře na automatické ostření.




Prohlížeče, které nepodporují atribut autofocus, jej budou ignorovat.

Co se stalo? Řekněme, že chcete, aby automatické ostření fungovalo všude, nejen v luxusních prohlížečích HTML5? Aktuální skript můžete ponechat s automatickým ostřením, stačí provést dvě malé změny:

  • přidat atribut autofocus do HTML kódu;
  • Zkontrolujte, zda prohlížeč podporuje atribut autofocus, a pokud ne, spusťte svůj vlastní skript.

Autofokus s alternativou




if (!("autofocus" v document.createElement("input")) ) (
document.getElementById("q").focus();
}


Nastavit zaměření brzy

Mnoho webových stránek čeká na spuštění window.onload a nastavení fokusu. Ale událost window.onload se nespustí, dokud se nenačtou všechny obrázky. Pokud vaše stránka obsahuje mnoho obrázků, tyto naivní skripty potenciálně změní zaměření poté, co uživatel začne pracovat s jinou částí vaší stránky. To je důvod, proč pokročilí uživatelé nenávidí skripty automatického ostření.

Například v předchozí části byl skript automatického ostření umístěn bezprostředně za pole formuláře, na které odkazoval. Toto je optimální řešení, ale může urazit vaši citlivost tím, že doprostřed stránky umístíte blok kódu JavaScript (nebo více světské, váš systém nemusí být tak flexibilní). Pokud nemůžete vložit skript doprostřed stránky, měli byste nastavit fokus pomocí vlastní události, jako je $(document).ready() v jQuery namísto window.onload .

Autofocus přes jQuery




$(document).ready(function() (

$("#q").focus();
}
});






Vlastní událost jQuery se spustí, jakmile je DOM přístupný – to znamená, že čeká na načtení textu stránky, ale nečeká na načtení všech obrázků. Toto není optimální přístup – pokud je stránka neobvykle velká nebo připojení k síti je pomalé, uživatel může stále se stránkou interagovat před spuštěním skriptu fokusu. Ale pořád je to mnohem lepší než čekat na událost window.onload.

Pokud souhlasíte a jste ochotni vložit do kódu své stránky skript s jedním příkazem, jedná se o kompromis, který je méně ošklivý než první možnost a lepší než druhá. Vlastní události jQuery můžete použít k nastavení vlastních událostí, řekněme autofocus_ready. Tuto událost pak můžete spustit ručně, jakmile bude k dispozici pole automatického ostření. Děkuji E.M. Shtenbergovi za to, že mě naučil tuto techniku.

Automatické ostření s alternativní vlastní událostí




$(document).bind("autofocus_ready", function() (
if (!("autofocus" v document.createElement("input"))) (
$("#q").focus();
}
});





$(document).trigger("autofocus_ready");

Toto řešení je optimální, stejně jako první přístup. Zaměření bude nastaveno na pole formuláře, jakmile to bude technicky možné, zatímco se text stránky stále načítá. Část aplikační logiky (zaměření v poli formuláře) byla přesunuta z těla stránky do sekce. Tento příklad je založen na jQuery, ale koncept vlastních událostí není pro jQuery jedinečný. Jiné JavaScriptové knihovny jako YUI a Dojo nabízejí podobné možnosti.

Pojďme si to shrnout.

  • Důležité je správné nastavení zaostření.
  • Pokud je to možné, požádejte prohlížeč, aby použil atribut autofocus na pole, na které chcete zaostřit.
  • Pokud používáte alternativní kód pro starší prohlížeče, definujte podporu pro atribut autofocus, aby se skript spouštěl pouze ve starších prohlížečích.
  • Zaměřte se co nejdříve. Vložte skript fokusu do kódu bezprostředně za pole formuláře. Pokud vám to nevadí, vložte knihovnu JavaScriptu, která podporuje vlastní události, a uveďte událost v kódu ihned za pole formuláře. Pokud to není možné, použijte událost jako $(document).ready() z jQuery.
  • Za žádných okolností nečekejte, až window.onload získá fokus.
Emailová adresa

Již více než deset let obsahují formuláře pouze několik typů polí. Nejběžnější jsou následující.

Všechny tyto typy polí stále fungují v HTML5. Pokud „upgradujete na HTML5“ (třeba změnou !DOCTYPE ), nebudete muset ve formulářích provádět jedinou změnu. Jo za zpětnou kompatibilitu!

HTML5 však definuje 13 nových typů polí a není důvod je nezačít používat.

První z těchto nových typů e-mailových adres. Vypadá to asi takhle.





Chystal jsem se napsat větu, která začala "v prohlížečích, které nepodporují type="email" ...", ale přestala. Proč? Protože si nejsem jistý, jestli prohlížeče nepodporují type="email" . Všechny prohlížeče "podporují" type="email" . Nemusí dělat nic zvláštního, ale prohlížeče, které nerozpoznají type="email" s ním budou zacházet jako s type="text" a vykreslí ho jako normální textové pole.

Zdůrazním, jak je to důležité. Na internetu jsou miliony formulářů, které po vás žádají zadání vaší e-mailové adresy, a všechny používají . Uvidíte textové pole, zadejte do něj svou e-mailovou adresu a je to. A pak přichází HTML5, které definuje type="email" . Zbláznili se prohlížeče? Ne. Každý prohlížeč na Zemi považuje atribut neznámého typu za type="text" – dokonce i IE6. Takže můžete své formuláře "obnovit" pomocí type="email" právě teď.

Co se stane, když řekneme, že prohlížeč podporuje type="email" ? No, může to znamenat cokoliv. Specifikace HTML5 nevyžaduje žádné specifické uživatelské rozhraní pro nové typy polí. Opera přidá do pole formuláře malou ikonu. Jiné prohlížeče HTML5, jako je Safari a Chrome, se vykreslují jako textové pole – stejně jako type="text" – takže vaši uživatelé nepoznají rozdíl (dokud se nepodívají na zdrojový kód).

A pak je tu iPhone.

iPhone nemá fyzickou klávesnici. Veškeré „psaní“ se provádí kliknutím na klávesnici na obrazovce, která se objeví ve vhodnou chvíli, například když přejdete do pole formuláře na webové stránce. Apple udělal něco chytrého s prohlížečem iPhone. Rozpoznává některá nová pole HTML5 a dynamicky mění klávesnici na obrazovce, aby optimalizoval vstup.

Například e-mailová adresa je textová, že? Samozřejmě, ale to je zvláštní typ textu. Téměř všechny e-mailové adresy tedy obsahují symbol @ a alespoň jednu tečku (.), ale je nepravděpodobné, že by obsahovaly mezeru. Když tedy používáte iPhone a přejdete na , získáte klávesnici na obrazovce, která obsahuje menší mezerník a také vyhrazené klávesy pro symboly. A @.

Dovolte mi to shrnout. Okamžité převedení všech e-mailových polí na typ="email" nemá žádnou nevýhodu. Téměř nikdo si toho nevšimne kromě uživatelů iPhonů, kteří si toho pravděpodobně také nevšimnou. Ale ti, kteří si toho všimnou, se tiše usmějí a poděkují, že jste jim trochu usnadnili práci.

webové adresy

Webová adresa – kterou geekové standardy nazývali URL, s výjimkou několika pedantů, kteří volali URI – je dalším typem specializovaného textu. Syntaxe webové adresy je omezena na příslušný internetový standard. Pokud vás někdo požádá o zadání webové adresy do formuláře, očekává něco jako „http://www.google.com/“, nikoli „125 Farwood Road“. Lomítka jsou běžná – dokonce i domovská stránka Google má tři z nich. Tečky jsou také běžné, ale mezery jsou zakázány. A každá webová adresa má příponu domény jako „.com“ nebo „.org“.

A tak... (buben, prosím)... . Na iPhonu to vypadá takto.

iPhone přepracoval svou virtuální klávesnici stejně jako pro e-mail, ale nyní ji optimalizuje pro psaní webové adresy. Mezerník byl zcela nahrazen třemi virtuálními klávesami: lomítko, tečka a „.com“ (podržením klávesy „.com“ můžete vybrat jinou příponu, například „.org“ nebo „.net“).

Prohlížeče, které nepodporují HTML5, budou považovat type="url" za type="text" , takže použití tohoto typu pro všechna pole, do kterých je třeba zadat webovou adresu, není nevýhodné.

Čísla jako počítadla

Další krok: čísla. Žádost o číslo je složitější než žádost o e-mail nebo webovou adresu. Za prvé, čísla jsou složitější, než si myslíte. Rychle vyberte číslo. -1? Ne, myslel jsem číslo mezi 1 a 10,7 ½? Ne, ne, nebuď zlomek, hlupáku. π? Teď jste právě vybrali iracionální číslo.

Rád bych poznamenal, že se vás často neptají „jen číslo“. Pravděpodobnější je, že požádají o číslo v určitém rozsahu. Můžete chtít pouze určité typy čísel v tomto rozsahu – možná celá čísla, ale ne zlomky nebo desetinná místa nebo něco exotičtějšího, jako jsou násobky 10. HTML5 to všechno pokrývá.

Vyberte si číslo, téměř libovolné

Podívejme se na jeden atribut po druhém.

  • type="číslo" znamená, že se jedná o číselné pole.
  • min="0" určuje minimální povolenou hodnotu pro toto pole.
  • max="10" je maximální povolená hodnota.
  • step="2" v kombinaci s minimální hodnotou definuje platná čísla v rozsahu: 0, 2, 4 atd., až po maximální hodnotu.
  • value="6" výchozí hodnota. Mělo by to vypadat povědomě, jedná se o stejný atribut, který se vždy používá k definování hodnot polí formuláře. Zmiňuji to zde jako výchozí bod, že HTML5 staví na předchozích verzích HTML. Nemusíte se znovu učit dělat to, co jste již udělali.

Toto je kód pro číselné pole. Mějte na paměti, že všechny tyto atributy jsou volitelné. Pokud máte minimum, ale ne maximum, můžete zadat atribut min, ale ne atribut max. Výchozí hodnota kroku je 1 a atribut kroku můžete vynechat, dokud nebude potřeba jiná hodnota kroku. Pokud neexistuje žádná výchozí hodnota, pak atribut value může být prázdný řetězec nebo může být dokonce úplně vynechán.

Tím ale HTML5 nekončí. Za stejně nízkou a nízkou cenu svobody získáte tyto praktické techniky JavaScriptu.

  • input.stepUp(n) zvýší hodnotu pole o n.
  • input.stepDown(n) sníží hodnotu pole o n.
  • input.valueAsNumber vrací aktuální hodnotu jako číslo s plovoucí desetinnou čárkou (vlastností input.value je vždy řetězec).

Problémy se zobrazením? Správné rozhraní pro správu čísel je v prohlížečích implementováno jinak. Na iPhonu, kde je psaní obtížné, prohlížeč opět optimalizuje virtuální klávesnici pro zadávání čísel.

V desktopové verzi Opery se pole type="number" zobrazí jako počítadlo s malými šipkami nahoru a dolů, na které můžete kliknout a změnit hodnoty.

Opera respektuje atributy min , max a step, takže vždy dosáhnete přijatelné číselné hodnoty. Pokud zvýšíte hodnotu na maximum, šipka nahoru na počítadle zešedne.

Stejně jako u všech ostatních vstupních polí, o kterých jsem hovořil v této kapitole, budou prohlížeče, které nepodporují type="číslo" s nimi zacházet jako s type="text" . V poli se zobrazí výchozí hodnota (jak je uložena v atributu value), ale ostatní atributy, jako je min a max, budou ignorovány. Můžete je sami implementovat nebo použít framework JavaScript, který již implementuje správu čítačů. Nejprve zkontrolujte zde.

if (! .inputtypes.number) (
// žádná nativní podpora pro pole typ=číslo
// může zkusit Dojo nebo jiný rámec JavaScriptu
}

Čísla jako posuvník

Počítadlo není jediný způsob, jak reprezentovat zadávání čísel. Pravděpodobně jste také viděli posuvník, který vypadá takto.

Nyní můžete mít na formuláři také posuvník. Kód vypadá podivně podobně jako pole čítače.


Všechny dostupné atributy jsou stejné jako pro type="number" - min , max , step , value - a znamenají totéž. Jediným rozdílem je uživatelské rozhraní. Namísto vstupního pole se očekává, že prohlížeče zobrazí type="range" jako posuvník. V době psaní tohoto článku s tím pracují nejnovější verze Safari, Chrome a Opera. Bohužel se iPhone zobrazuje jako jednoduché textové pole, ani neoptimalizuje klávesnici na obrazovce pro zadávání čísel. Všechny ostatní prohlížeče jednoduše zacházejí s polem jako type="text" , takže není důvod začít tento typ okamžitě používat.

HTML 4 nezahrnuje výběr data přes kalendář. JavaScriptové frameworky vám to umožňují obejít (Dojo, jQuery UI, YUI, Closure Library), ale každé z těchto řešení samozřejmě vyžaduje „implementaci“ frameworku pro jakýkoli vestavěný kalendář.

HTML5 konečně definuje způsob, jak povolit nativní výběr data bez jakéhokoli skriptování. Ve skutečnosti je jich šest: datum, měsíc, týden, čas, datum + čas a datum + čas s časovým pásmem.

Zatím je podpora... mizivá.

Podpora výběru data Zadejte Opera Jiné prohlížeče
type="date" 9.0+ -
type="měsíc" 9.0+ -
type="týden" 9.0+ -
type="time" 9.0+ -
type="datetime" 9.0+ -
type="datetime-local" 9.0+ -

Opera se zobrazuje takto:

Pokud potřebujete čas spolu s datem, Opera také podporuje:

Pokud potřebujete měsíc plus rok (například datum vypršení platnosti kreditní karty), Opera může zobrazit:

Méně obvyklé, ale dostupné je vybrat týden v roce pomocí:

V neposlední řadě je načasování s:

Výběr data s alternativou




...

var i = document.createElement("vstup");
i.setAttribute("typ", "datum");
if (i.type == "text") (
// Žádná nativní podpora pro výběr data :(
// K vytvoření použijte Dojo/jQueryUI/YUI/Closure,
// pak dynamicky nahradit prvek
}

Je pravděpodobné, že ostatní prohlížeče budou tyto typy nakonec podporovat. Stejně jako type="email" a další typy se tato pole formuláře zobrazí jako prostý text v prohlížečích, které nerozpoznají type="date" a jeho varianty. Pokud chcete, stačí použít , udělat radost uživatelům Opery a počkat, až to ostatní prohlížeče doženou. Je realističtější použít toto, ale zkontrolujte, zda prohlížeč podporuje nativní výběr data, a zahrňte alternativní řešení ve formě skriptu dle vašeho výběru (Dojo, jQuery UI, YUI, Closure Library nebo jiné možnosti).

Vyhledávací okno

Takže hledej. Nejen vyhledávání z Google nebo Yahoo (tedy i těch). Přemýšlejte o jakémkoli vyhledávacím poli, na jakékoli stránce, na jakémkoli webu. Amazon má vyhledávací pole, Yandex má vyhledávací pole a většina blogů také. Jak se vyrábějí? , stejně jako jakékoli jiné textové pole na webu. Pojďme to napravit.

Hledejte novou generaci




V některých prohlížečích si nevšimnete žádného rozdílu od běžného textového pole. Pokud ale používáte Safari na Mac OS X, bude to vypadat takto.

Našli jste rozdíl? Vstupní pole má zaoblené rohy! Já vím, já vím, stěží dokážeš potlačit své pocity. Ale počkat, je toho víc! Když do pole začnete psát type="search", Safari vloží na pravou stranu okna malé tlačítko "x". Kliknutím na "x" vymažete obsah pole. Stejně se chová i Google Chrome, který má pod kapotou stejnou technologii. Oba tyto malé triky vypadají a chovají se podobně jako nativní vyhledávání v iTunes a dalších klientských aplikacích Mac OS X.

Apple.com používá vyhledávání na webu, aby pomohl webu zprostředkovat pocit „milující papoušky“. Ale zde není nic specifického pro Mac. Je to jen kód, takže každý prohlížeč na každé platformě si může vybrat způsob vykreslování podle konvencí platformy. Stejně jako u všech ostatních nových typů, prohlížeče, které nerozpoznají type="search" s ním budou zacházet jako s type="text" , takže není absolutně žádný důvod, proč nezačít používat type="search" pro všechna svá vyhledávací pole ještě dnes.

Říká profesor Markup

Ve výchozím nastavení Safari většinu stylů nepoužívá. Chcete-li přinutit Safari, aby zacházelo s vyhledávacím polem jako s běžným textovým polem (abyste mohli použít své vlastní styly), přidejte toto pravidlo do své šablony stylů.

vstup(
-webkit-appearance:textfield;
}

Děkuji Johnu Laneovi, že mě tento trik naučil.

Výběr barvy

HTML5 také definuje pole, které umožňuje vybrat barvu a vrací ji v šestnáctkové soustavě. Žádný prohlížeč nepodporuje výběr barev, což je škoda, protože palety Mac OS jsem vždy miloval. Možná jednou.

Poznámka překladatel Opera 11 tuto funkci podporuje.

Ověření formuláře

V této kapitole jsem mluvil o nových prvcích formulářů a nových funkcích, jako je automatické ostření, ale nezmínil jsem možná nejzajímavější část formulářů HTML5: automatické ověřování vstupu. Podívejme se na běžné problémy se zadáním e-mailové adresy do formuláře. Pravděpodobně máte ověření na straně klienta pomocí JavaScriptu, po kterém následuje ověření na straně serveru prostřednictvím PHP, Pythonu nebo jiného jazyka na straně serveru. HTML5 nikdy nenahradí ověřování na straně serveru, ale jednoho dne může nahradit ověřování na straně klienta.

Existují dva velké problémy s ověřováním e-mailové adresy v JavaScriptu:

  • Malý počet vašich návštěvníků (pravděpodobně kolem 10 %) nemá povolený JavaScript.
  • Dostanete nesprávnou adresu.
  • Vážně, spletete si adresu. Určení, že sada náhodných znaků je platnou e-mailovou adresou, je neuvěřitelně obtížné. Čím víc se díváte, tím je to těžší. Zmínil jsem se, že je to velmi, velmi obtížné? Není jednodušší pověsit tuto bolest hlavy na váš prohlížeč?

    Opera kontroluje type="email"

    Zde je snímek obrazovky z Opery 11, i když funkce je přítomna již od Opery 9. Kód zahrnuje nastavení e-mailové hodnoty pro atribut type. Když se uživatel Opery pokusí odeslat formulář pomocí , prohlížeč automaticky zkontroluje e-mailovou adresu, i když jsou skripty zakázány.

    HTML5 také nabízí ověření webových adres pomocí pole a čísel pomocí . Ověření čísla bere v úvahu hodnoty atributů min a max, takže vám prohlížeče neumožní odeslat formulář, pokud zadáte příliš velké číslo.

    Neexistuje žádný kód, který by umožňoval ověření formuláře v HTML5, provádí se standardně. Chcete-li zakázat ověřování, použijte atribut novalidate.

    Nezkoušejte mě




    Prohlížeče pomalu začleňovaly podporu pro ověřování formulářů v HTML5. Firefox 4 bude mít plnou podporu. Safari a Chrome jsou bohužel implementovány pouze částečně: ověřují prvky formuláře, ale nezobrazují žádné viditelné zprávy, když ověření pole formuláře selže. Jinými slovy, pokud zadáte nesprávné (nebo špatně napsané) datum do type="date" , Safari a Chrome formulář neodešle, ale neřeknou vám, proč to tak nebylo. Nastaví fokus na pole, které obsahuje neplatnou hodnotu, ale nezobrazí chybovou zprávu jako Opera nebo Firefox 4.

    Povinná pole Podpěra, podpora
    TJ. Firefox Safari Chrome Opera iPhone Android
    - 4.0+ - - 9.0+ - -

    Ověření formuláře v HTML5 není omezeno na typ každého pole. Můžete také určit, že některá pole jsou povinná, taková pole musí mít hodnotu, než budete moci formulář odeslat.

    Kód pro povinná pole je tak jednoduchý, jak jen může být.




    Prohlížeče mohou změnit původní vzhled požadovaného pole. Zde je příklad toho, jak to vypadá v Mozilla Firefox 4.0.

    Pokud se navíc pokusíte odeslat formulář bez vyplnění požadované hodnoty, Firefox zobrazí informační lištu s informací, že pole je povinné a nemůže být prázdné.

    Popisovaný objekt je velmi užitečný a mocný nástroj. Tento objekt má několik metod, jejich popis je uveden níže:

    Sbírky: Metody: Vlastnosti: Response.Cookies kolekce

    Kolekce cookie nastavuje hodnoty pro soubory cookie. Pokud zadané soubory cookie neexistují, vytvoří je. Pokud cookie existuje, získá novou hodnotu a zničí tu starou.

    Response.Cookies(cookie) [(klíč) | . atributy ] = hodnota

    Možnosti:

    • cookie – název souboru cookie
    • klíč - Volitelný parametr. Pokud je zadán, pak je cookie adresář (vnořený) a klíč je sada hodnot.
    • atributy – Specifikované informace o samotných cookies. Tento parametr může být jeden z následujících:
    • value – Určuje hodnotu, která má být přiřazena tomuto klíči nebo atributu.
    názevPopis
    DoménaPouze nahrávání. Pokud je zadáno, soubory cookie se odesílají pouze na vyžádání z této domény.
    Platnost vypršíPouze nahrávání. Datum, kdy vyprší platnost souboru cookie. Toto datum je nutné nastavit, aby se soubory cookie zapsaly na pevný disk klienta po skončení relace. Pokud tento atribut není nastaven, předpokládá se, že datum vypršení platnosti souboru cookie je aktuální datum. Platnost cookies vyprší okamžitě po ukončení relace.
    HasKeyPouze čtení. Označuje, zda soubor cookie obsahuje daný klíč.
    CestaPouze nahrávání. Pokud je zadáno, soubory cookie jsou odesílány pouze na vyžádání z této cesty. Pokud parametr není nastaven, použije se cesta k aplikaci.
    ZajistitPouze nahrávání. Označuje, zda budou soubory cookie chráněny nebo ne.

    Komentář:

    Pokud je klíč cookie vytvořen, jak je znázorněno v následujícím skriptu,

    poté bude odeslána následující hlavička:

    Set-Cookie:MYCOOKIE=TYPE1=cukr&TYPE2=cookies

    Pokud přiřadíte hodnotu mycookie bez použití kláves, pak tato akce zničí klíče type1 a type2. Např:

    V předchozím příkladu budou klíče type1 a type2 zničeny a jejich hodnoty budou ztraceny. Mycookie bude nyní obsahovat hodnotnou čokoládovou marshmallow.

    Existenci konkrétního klíče můžete zkontrolovat také následujícím způsobem:

    Pokud je zobrazeno PRAVDA, pak takový klíč existuje, pokud je FALSE, neexistuje.

    Metoda Response.Write

    Response.Write variable_or_value

    Možnosti:

    • variable_or_value – Data, která mají být zobrazena na obrazovce prohlížeče prostřednictvím HTML. Tento parametr může být libovolného typu podporovaného VisualBasic Scripting Edition. To znamená, že data mohou být následujících typů: datum, řetězec, znak, číselné hodnoty. Hodnota tohoto parametru nemůže obsahovat kombinaci %>. Místo toho můžete použít ekvivalentní kombinaci %\>. Webový server při spuštění skriptu převede tuto sekvenci na požadovanou.

    Následující příklad ukazuje, jak metoda Response.write funguje pro výstup zprávy klientovi.

    Řeknu vám jen: A vaše jméno

    Následující příklad přidá značku HTML na webovou stránku. Protože tato metoda nemůže obsahovat kombinaci %>, použijeme posloupnost %\>. Takže příklad skriptu:

    Výstupem bude řádek:

    Response.Redirect metoda

    Adresa URL Response.Redirect (URL – Uniform Resource Locator)

    Možnosti:

    • URL – Parametr je univerzální deskriptor zdroje. Ukazuje, kdy je třeba prohlížeč přesměrovat.

    Komentář:

    Jakýkoli výskyt této metody mezi značkami a webovou stránkou bude ignorován. Tuto metodu lze použít pouze v záhlaví stránky HTML. Tato metoda předá prohlížeči záhlaví, pokud parametr URL tohoto objektu chybí v následujícím tvaru:

    Adresa URL umístění objektu přesunutý HTTP/1.0 302

    Metoda Response.End

    Response.End

    Komentář:

    Pokud byla vlastnost Response.Buffer nastavena na hodnotu TRUE, volání metody Response.End vymaže vyrovnávací paměť a vytlačí z ní data klientovi. Pokud nechcete odesílat data uživateli, měli byste zavolat následující metodu:

    Metoda Response.AddHeader

    Metoda AddHeader přidá záhlaví HTML se specifickými hodnotami. Tato metoda vždy přidá novou hlavičku do odpovědi do klientského prohlížeče. Tato metoda nenahrazuje stávající hlavičku novou. Přidané záhlaví nelze odstranit.

    Tato metoda se používá pouze pro „pokročilé“ úlohy.

    Response.AddHeader název_proměnné, hodnota

    Možnosti:

    • variable_name - Název nových parametrů hlavičky HTML.
    • value - Nastavte hodnotu, která se bude pamatovat v záhlaví.
    Poznámky:

    Aby metoda fungovala správně, název_proměnné nesmí obsahovat znak podtržení (_). Sada ServerVariables interpretuje podtržítko jako pomlčku v záhlaví. Jako příklad následující skript přinutí server najít parametr z hlavičky HTML s názvem MY-HEADER.

    Protože protokol HTTP vyžaduje, aby byly všechny parametry hlavičky předány před tělem stránky HTML, musíte ve skriptu před zahájením popisu zavolat metodu AddHeader.... Existuje jedna výjimka. Pokud je vlastnost Buffer nastavena na hodnotu true, můžete AddHeader zapsat kamkoli do skriptu, ale před prvním voláním metody Flush. V opačném případě vyvolá volání metody AddHeader chybu.

    Následující dva soubory .ASP ukazují tento poslední bod.

    váš text na stránce

    V tomto příkladu není stránka ukládána do vyrovnávací paměti. Skript funguje, ale AddHeader je volán předtím, než server vytvoří výstup HTML pro klienta.

    zde jsou nějaké informace z vaší stránky...

    Ve druhém příkladu je stránka ukládána do vyrovnávací paměti a v důsledku toho server nevydává text klientovi, dokud samotný skript neskončí nebo není zjištěna metoda Flush. Tuto metodu můžete použít k odeslání více kopií některého parametru hlavičky s různými hodnotami, jako je tomu u hlavičky WWW-Authenticate.

    Metoda Response.AppendToLog

    Metoda AppendToLog přidá řádek na konec souboru sestavy (souboru protokolu) webového serveru. Tuto metodu můžete volat tolikrát, kolikrát potřebujete. Pokaždé, když zavoláte metodu, zadaný řetězec se zapíše do souboru sestavy serveru.

    Hodnota Response.AppendToLog

    Možnosti:

    • hodnota – Text, který bude přidán do souboru sestavy webového serveru. Tento řetězec nemůže obsahovat znak čárky (,). Celková délka přidaného řádku by navíc neměla přesáhnout 80 znaků.
    Poznámky:

    Chcete-li použít tuto funkci, musíte mít pro tento webový server ve službě IIS povolenou volbu Dotaz na URI na panelu „Pokročilé vlastnosti protokolování“.

    Metoda Response.BinaryWrite

    Metoda BinaryWrite umožňuje zapisovat specifikované informace do aktuálního HTTP výstupu bez jakékoli konverze znaků. Tato metoda je užitečná pro výstup neřetězcových informací, jako jsou binární data vyžadovaná aplikací.

    Data Response.BinaryWrite

    Možnosti:

    • data - Data určená pro HTTP výstup.

    Pokud máte objekt, který vytváří bajtové pole, můžete použít následující volání této metody k předání tohoto pole nějaké aplikaci spuštěné na klientském počítači.

    Response.Clear metoda

    Metoda Clear vymaže veškerý HTML výstup ve vyrovnávací paměti. Tato metoda však nevymaže informace o vyrovnávací paměti spojené s hlavičkou. Tuto metodu můžete použít ke správě chyb. Provedení této metody však povede k chybě, pokud vlastnost Response.Buffer není pravdivá.

    Vlastnost Response.CacheControl

    Tato vlastnost přepíše výchozí hodnotu. Když nastavíte vlastnost na Public, proxy server může mezipaměti výstup generovaný ASP.

    Response.CacheControl [= hlavička řízení mezipaměti]

    Možnosti:

    • Hlavička ovládání mezipaměti – Tato možnost ovládání hlavičky může být buď veřejná, nebo soukromá.
    Vlastnost Response.CharSet

    Vlastnost CharSet umožňuje přidat název tabulky kódů znaků (například WINDOWS-1251) do záhlaví HTML, řádku typu obsahu.

    Response.CharSet code_table_name

    Možnosti:

    • charset_name – Řetězec, který určuje znakovou sadu pro tuto HTML stránku. Název této kódové tabulky bude přidán do hlavičky HTML souboru pod parametrem "content-type".

    Pro stránku ASP, která nepoužívá vlastnost Response.Charset, bude parametr "content-type" v záhlaví vypadat následovně:

    Content-type:text/html

    Pokud soubor ASP obsahuje příkaz

    pak v záhlaví bude pole typu obsahu vypadat takto

    Content-type:text/html; charset=Windows-1251

    Komentář:

    Tato funkce vloží do hlavičky libovolný řádek a nekontroluje jeho platnost.

    Pokud stránka obsahuje několik značek Response.Charset, pak každá následující nahradí hodnotu svou vlastní.

    Vlastnost Response.ContentType

    Vlastnost ContentType umožňuje určit typ (typ) obsahu souboru HTML. Pokud se tato vlastnost nepoužívá, pak se jako výchozí použije text/html.

    Response.ContentType [=content_type]

    Možnosti:

    • content_type – Řetězec popisující typ obsahu HTML. Tento řetězec má obvykle tvar „typ/podtyp“, kde typ je hlavní kategorií obsahu a podtyp označuje typ obsahu. Úplný seznam podporovaných typů naleznete v dokumentaci vašeho prohlížeče nebo ve specifikaci HHTP.

    Následující příklad ilustruje nastavení typu obsahu na Channel Definition Format (Push Channels).

    Druhý příklad ukazuje nastavení vlastnosti na nejčastěji známé hodnoty.

    Vlastnost Response.Expires

    Vlastnost Expires určuje dobu, po kterou bude HTML stránka uložená v mezipaměti prohlížeče považována za nevypršenou (doba uložení). Pokud uživatel požaduje od prohlížeče stránku uloženou v mezipaměti, jejíž platnost nevypršela, prohlížeč ji vrátí přímo ze své mezipaměti.

    Response.Expires [=číslo]

    Možnosti:

    • číslo – Doba v minutách, než je stránka považována za „po splatnosti“. Nastavení této hodnoty na 0 způsobí, že daná stránka okamžitě „vyprší“.

    Komentář:

    Pokud je tato vlastnost nastavena na stránce více než jednou, použije se nejmenší hodnota.

    Vlastnost Response.ExpiresAbsolute

    Vlastnost ExpiresAbsolute určuje čas a datum, po kterém je stránka HTML uložená v mezipaměti prohlížeče považována za vypršenou (doba uchování vypršela). Pokud uživatel požaduje od prohlížeče stránku uloženou v mezipaměti, jejíž platnost nevypršela, prohlížeč ji vrátí přímo ze své mezipaměti. Pokud je zadán čas (a je zadáno datum), pak „datum vypršení platnosti“ této stránky vyprší o půlnoci daného dne. Pokud není zadán čas ani datum, pak je hodnota přiřazena podle dne a času, kdy byl skript spuštěn.

    Response.ExpiresAbsolute [= [datum] [čas]]

    Možnosti:

    • datum - Označuje datum expirace "doby použitelnosti". Formát data musí odpovídat standardu RFC-1123.
    • čas – Udává čas, kdy vyprší platnost stránky. Tato hodnota se před odesláním hlavičky klientovi převede na GMT (Greenwich Mean Time).

    Komentář:

    Pokud je daná vlastnost definována na stránce více než jednou, pak se doba vypršení "doby uložení" považuje za nejstarší ze všech zadaných hodnot.

    Vlastnost Response.IsClientConnected

    Tato vlastnost je pouze pro čtení, což znamená, že této vlastnosti nelze přiřadit žádné hodnoty. Tato vlastnost udává, zda je klient připojen nebo již není připojen k serveru definovanému v posledním z Response.Write.

    Response.IsClientConnected()

    Komentář:

    Tato vlastnost umožňuje určit, kdy je uživatel připojen a kdy je odpojen od serveru. Například délka časového období mezi tím, kdy server odpověděl, a okamžikem, kdy klient provedl požadavek, dává jistotu, že klient je stále připojen a má smysl pokračovat ve spouštění skriptu.