Ako môžem vynútiť...?

Original: http://webtips.dantobias.com/force.html

Pomôcť: Pochopte, že HTML nemôže "sily" akúkoľvek akciu, a nie držať sa snaží obísť toto obmedzenie; budete len obťažujú svojim užívateľom a aby vaše stránky menej prístupná.

Bežné "nováčik" otázky v diskusných skupín venovaných Web authoring sú tie, ktoré začínajú "Ako mám prinútiť používateľov prehliadača..."

  • nie je mať tlačidlo "Späť"?
  • má jeden z odkazov na stránke fungujú ako tlačidlo "Späť"?
  • eliminovať minulej históriu prehliadania používateľa, takže užívateľ nemôže vrátiť z mojich stránok?
  • uložiť minulé históriu prehliadania užívateľa a odoslať ju na mojich stránkach, takže to môžem analyzovať pre marketingový výskum?
  • vrátiť všetky navštívené odkazy späť na farbu unvisited-link?
  • potlačiť "ruky" ukazovateľa myši, keď používateľ presunie myši na odkaz, takže to môže byť skrytý odkaz?
  • byť dimenzovaný na 640 x 480 bez ohľadu na to, akú veľkosť monitora užívateľa?
  • Nie je nutné posuvníky bez ohľadu na to, akú veľkosť monitora užívateľa?
  • inštalovať svoje vlastné písma v systéme užívateľa, takže moja stránka sa zobrazí tak, ako chcem to aj v prípade, že používateľ už nemá tieto písma?
  • ignorovať užívateľ font-size-zmene nastavenia a ovládacie prvky a udržať fonty rovnakej veľkosti bez ohľadu na to, ako sú nastavené?
  • vyzve užívateľa na uloženie súboru na disk, keď používateľ klikne na neho, skôr než zobrazením v prehliadači?
  • okamžite spustiť súbor .exe z mojich webových stránkach, keď používateľ klikne na neho, skôr než výzvou na uloženie súboru?
  • vytlačiť svoj objednávkový formulár na tlačiarni používateľa okamžite, keď on alebo ona vstúpi do mojej stránky?
  • zobraziť svoje webové stránky len ako súčasť rámcov, a nie jednotlivo?
  • zobraziť svoje webové stránky len individuálne, nie ako súčasť rámcov?
  • potlačiť funkciu "Zobraziť zdrojový kód", takže nikto nemôže ukradnúť svoj HTML kód?
  • deaktivovať funkciu "uložiť ako" tak nikto nemôže ukradnúť svojich stránok, grafiku a ďalšie prvky?
  • potlačiť tlačidlo "Tlač", takže nikto nemôže ukradnúť mojej stránky v tlačenej podobe?
  • potláčať kliknutím pravým tlačidlom myši a kopírovanie a vkladanie funkcií na svojich stránkach?
  • pop-up okno s upozornením, keď sa používateľ pokúsi opustiť svoje miesto, aby ho povzbudiť / jej, aby zostali?
  • ukladať súbory stiahnuté súbory používateľa v adresári I vybrať, skôr než adresár užívateľ vyberie?
  • potlačiť dialógové okno s varovaním, že príde (v niektorých verziách prehliadačov a konfigurácií), keď môj web pokúša spustiť ovládací prvok ActiveX, vytvoriť cookie, ísť medzi zabezpečených a nezabezpečených stránok, atď?
  • vypnúť JavaScript v prehliadači používateľa (k potlačeniu pop-up okná niektoré freehosting pridať)?
  • zapnúť JavaScript v prehliadači používateľa (aby sa ubezpečil, dostať zobrazené všetky moje NEAT špeciálne efekty!)
  • potlačenie zobrazovanie a tlač URL dokumentov, takže môžem schovať pred používateľom, ako získať určitý dokument priamo a nútiť ho / ju ísť cez môj štruktúre menu?
  • zakázať "Záložka" (alebo "Obľúbené") funkciu, takže užívateľ nemôže vytvoriť záložku mojej stránky?
  • automaticky do záložiek mojej stránky, keď používateľ navštívi ju prvýkrát?
  • ste moja forma automaticky odoslaná, keď používateľ stlačí kláves ENTER?
  • ste moja forma nie je automaticky odoslať, keď používateľ stlačí kláves ENTER?
  • potlačiť bodkovaný pole, ktoré sa objavujú okolo klikacie obrazov, keď sú vybrané (v niektorých verziách MSIE)?

...a zoznam by mohol pokračovať ďalej. Všetci zobraziť nedostatok pochopenie toho, ako web funguje. Neexistuje žiadny spôsob, ako autor môže nútiť niečo na používateľa. Rôzne konštrukty HTML môže navrhnúť určité akcie zo strany prehliadača, ale nemožno ich nútiť.

Je pravda, že niektoré novšie (niekedy neštandardné) konštrukty a add-ons, najmä skriptovacie jazyky, ako je JavaScript, môže "nútiť" rôzne správanie prehliadača, prinajmenšom na strane prehliadača, ktorý podporuje takú aktivitu. Ale na prehliadači, ktorý nie je, a v ktorom sú tieto doplnky vyradiť z činnosti preferenciách používateľa, nemôžu nič nútiť. (Niektoré prehliadače, ako je Mozilla a Opera, sú stále veľmi dobre vyvíjať sofistikované predvolených nastavení, aby užívatelia mohli zakázať niektoré z viac nepríjemných vecí, web môže pokúsiť urobiť, rovnako ako pop-under reklamy, a pritom umožňuje väčšinu multimediálnych vylepšení, ktorá môže v skutočnosti zlepšenie kvality danej stránok.)

Aj keby bolo možné vynútiť také veci na užívateľa, je otázka "Prečo to chcete urobiť?" Veľká časť komunity užívateľov, apt sa dostať naštvaný na taký pokus o manipuláciu s jeho alebo jej prehliadanie webu, a otrávený používateľ pravdepodobne sa nevráti do svojho webu. Užívatelia sú zvyknutí používať štandardné navigačné nástroje, ako tlačidlá Späť prehliadača, a to nebude páčiť, ak ste nejako podarí deaktivovať. Užívatelia môžu používať ľubovoľný počet rôznych platformách stroje a rozlíšenie displeja, a môžu byť schopní alebo ochotní vynútiť určitý pixel šírku len preto, aby vyhovoval vašim zle navrhnutých rozloženie, ktoré nemožno meniť veľkosť nastavení používateľa. Užívatelia môžu vidieť bezpečnostné riziko v prevádzkovom vložené applety a skripty a odmietne povoliť tieto nastavenia, takže ak váš web je činí povinný pre navigáciu, že bude jednoducho ísť preč.

Nedostatok schopnosť vynútiť správanie prehliadača je určite frustrujúce pre vývojárov, ktorí sú zvyknutí na vytvorenie samostatnej softvérové produkty určené pre jednu konkrétnu platformu a ktoré bežia úplne od začiatku do konca pod kontrolou developera, ale ak ste vyvíjať pre web, budete 'll stratiť, že myslenie a naučiť sa prijímať väčšiu kontrolu webového užívateľ má nad možnosti prehliadania.

Niektoré poznámky o špecifických "platnosť" pokusoch

Tu sú niektoré konkrétnejšie pripomienky k niektorej z konkrétnych vecí, ktoré ľudia často želajú "silu":

Nútiť nové okná prehliadača otvoriť, zatvoriť, byť dimenzovaný na konkrétne rozmery a postrádajú normálne ovládacie prvky ako tlačidlá Späť

Ak je mať zapnutý Javascript, možno ho použiť na robiť takéto veci. Ale to sú možné veci, ktoré by mohli obťažovať veľa užívateľov, pretože meniť normálny užívateľské rozhranie prehliadača, a v prípade, že používateľ má nízky obsah pamäte, môže dokonca dôjsť k zlyhaniu alebo zavesiť systému. Môžu tiež získať užívateľa do "slučky", kde stále rovnaký nechcené pop-up okno sa opäť otvárajú zakaždým, keď ju užívateľ uzavrie, čím sa zvyšuje úroveň zlosti.

Odstránenie stránky z "Cúvať-Tlačidlo" histórie

Veľmi častou požiadavka je, aby to nemožný pre užívateľov k návratu na stránku pomocou tlačidla Späť. Niekedy je dokonca legitímny dôvod na to, chcel, aby sa zabránilo formulárové prvky z predkladá dvakrát alebo mimo poradia, alebo na ochranu bezpečnosti osobných údajov vložených na stránke. Inokedy je to len nezmyselné túžby zo strany klienta sa kontroly netvor, ktorí sa nemôžu stať užívateľom voľbe ich vlastné sekvenciu zobrazenie ich stránky, alebo dokonca surfovanie na stránkach iných ľudí a návratu do pôvodného miesta neskôr. Či tak alebo onak, to nie je možné. Aj s skriptovacích jazykov, viem, že žiadny spôsob, ako odstrániť stránky z histórie užívateľa. Ak je vaša potreba je to pre intranet alebo kiosku, kde ovládate prehliadač, môžete hľadať zákazkového prehliadači, ktorý má tieto funkcie zabudované.

Nútiť písma nastavenie tvár, veľkosť a farbu bez ohľadu na nastavenie prehliadača

Môžete navrhnúť nastavenia písma rôznymi spôsobmi, vrátane štýly a rôzne (zastarané v HTML 4.0) prezentačných tagov a atribútov. Na niektorých prehliadačoch, niektoré z týchto nastavení "sily" požadované nastavenie bez ohľadu na konfiguráciu používateľa. To je zlý nápad, pretože to môže mať za následok stránok, ktoré sú zle čitateľné pre používateľov so špeciálnymi potrebami. Napríklad tie so zhoršeným zrakom chcieť väčších písiem, a tí s farbosleposti možno musieť nastaviť farebné kombinácie, ktoré sú čitateľné pre nich, aj keď vyzerajú divné ostatným. Čím viac sa autor webu robí pokúsiť sa poraziť také veci, a čím viac prehliadač spolupracuje, bude menej čitateľný pozemok bude týmto užívateľom.

Nútiť súbory na prevzatie, spustiť, začať konkrétne aplikácie atď

Môžete to urobiť. Webové protokoly boli navrhnuté tak, aby identifikovať, cez MIME Content-Type hlavičky, aký druh obsahu dátového toku má, ale nie presne špecifikovať, čo s tým robiť. To bolo urobené z dobrého dôvodu; autor webu nemá žiadny spôsob, ako presne vedeli, aký druh systému koncový užívateľ má, alebo preferencií, ktoré používateľa, pokiaľ ide o tom, ako sa vysporiadať s rôznymi druhmi dát. A niektoré spôsoby nakladania s dátami, ako je automatické spustenie súboru s príponou .exe, predstavovať bezpečnostné riziká, ako sú vírusy a "trójske kone". A v prípade, že užívateľ má Macintosh alebo systém Unix, systémom DOS alebo Windows .EXEs je neuskutočniteľné, tak ako tak; ale ak si nechať užívateľa k stiahnutiu súboru, mohol by byť schopní dať to na disku a spustite ho na počítači na konci chodby.

Všeobecne platí, že používatelia môžu chcieť prijímať vlastné rozhodnutia o tom, ako sa vysporiadať s rôznymi druhmi súborov, ich zobrazenie vo svojom prehliadači, ich zobrazenie cez externý pomocné aplikácie, alebo ich uloženie na svoj pevný disk, skôr než nechávať svoje stránky silu jeden konkrétny správanie, ktoré ani nemusia pracovať v systéme tohto konkrétneho používateľa. Takže by ste mali zaistiť, aby váš server odosiela poctivý a presná hlavička Content-Type pre každú položku, ktoré zasiela.

Ak posielate dátové súbory nejakého druhu, ktorý používateľ by mal byť úspora namiesto prehliadanie v jeho/jej prehliadača, najlepšie typ MIME použiť, je application/octet-stream; to obvykle spôsobí sa zobrazí dialógové okno "zachrániť". To nie je "nútený" (užívateľ môže nastaviť prehliadač tak, aby robiť niečo iné s týmto druhom dát), ale je to obvyklé akcie, a to je najbližšie sa môžete dostať do "nútiť prehliadač pre uloženie súboru." Ale nemôžete nútiť adresár alebo názov súboru je to uloží pod, hoci prehliadačov všeobecne dostať meno z posledná časť URL (hoci oni môžu líšiť v šialených spôsoby, niekedy likvidácie s podivnými názvami súborov na rozdiel od tej, ktorú zamýšľané).

Vždy sa môžete prinútiť používateľov, aby sa používanie prehliadača je k dispozícii pre uloženie súboru na disku, ako kliknutie pravým tlačidlom myši v Netscape alebo MSIE, ktoré pracujú bez ohľadu na to, aký typ MIME sa používa a ako je prehliadač nakonfigurovaný tak, aby zvládnuť tento typ.

Potlačenie varovné dialógové okná

Možno sa vám nebude páčiť to, že niektoré prehliadače zobrazujú "Bezpečnostné varovanie pred rizikami", keď váš web pokúsi nastaviť cookie, spustiť aplet alebo ovládací prvok ActiveX, prejdite z bezpečného (šifrovaného) do nezabezpečených stránok a zase späť, alebo inou aktivitou, že niektoré prehliadače, za určitých nastavení konfigurácie, varovať. Niektorí autori nepáči natoľko, že sa opýtať, či existuje nejaký spôsob, ako prinútiť zakázanie týchto varovaní. No, ak webový autor mohol urobiť, nebolo by to v rozpore s účelom týchto varovanie o možných bezpečnostných rizík? Stať sa skutočným!

"Skrytie" svoju stránku zdrojový kód

Toto je pravdepodobne najčastejšia "Ako môžem vynútiť..." Požiadavka na diskusných skupín v týchto dňoch. Ľudia majú prehnaný dojem o hodnote svojho kódu HTML a chcete ho chrániť pred "ukradnuté". Ale neexistuje žiadny spôsob, ako skryť zdrojový kód HTML zo strany používateľa. Prehliadač užívateľa potrebuje dostávať všetok zdrojový HTML kód, aby bolo možné zobraziť stránku, takže bez ohľadu na to, čo nevyspytateľný techniky autor používa zatemniť kód, to musí byť ešte spracovateľnom prehliadačom, a teda nie je príliš ťažké pre akýkoľvek na polceste inteligentné užívateľovi premeniť do niečoho čitateľné.

Jednou z veľkých vecí, o webe je, že "nováčikovia" môžete dozvedieť veľa o webové authoring pri pohľade do zdrojového kódu stránok. To je jeden zo spôsobov, ako som sa naučil na prvom mieste. Tým, uvidíte veľa príkladov (dobrých i zlých) o technikách webových aplikácií, ktoré vám môžu pomôcť, aby nakoniec vyrábať stránok tak pekný ako ty profesionálov. Amatérske/profesionálne i začiatočník/expertné medzery sú na webe oveľa menší ako v iných médiách, a to je možno z túžby rozšíriť túto medzeru, že niektoré z "odborníkov" chcete nájsť spôsob, ako skryť ich zdrojový kód. Ale stále nie je možné vykonať.

Rovnako tak neexistuje žiadny spôsob, ako zastaviť niekoho z tlače, záložiek, alebo odkazujú na vaše stránky. Keď dáte niečo na webe, je to fér hra pre to všetko. Stále legálne vlastní autorské práva na všetko, čo si na webe (podľa súčasného zákona máte autorské práva k ničomu, ktorú vytvoríte, aj keď to nemá označenie autorských práv na ňom), a môže žalovať niekoho, kto distribuuje kópie bez vášho povolenie, ale nemôžete zastaviť normálne webové použitie vašich dokumentov, keď sú na webe, a to vrátane ďalších lokalít robia odkazy na vaše stránky. Ak chcete, aby to ťažšie na ľudí, myslím, že môžete neustále v pohybe vaše stránky okolo, takže každý, kto spája do jedného končí s 404 nebola nájdená chyba druhý deň, ale to by obťažujú svoje legitímne užívateľa aspoň toľko, koľko niekto si myslíte, že je "páranie ťa."

Niektorí z ľudí, ktorí žiadajú, ako potlačiť funkciu "Zobraziť zdrojový kód" nerobia to, aby sa zabránilo krádežiam ich kódu, ale preto, že chcú, aby bola zachovaná bezpečnosť niečoho vo svojom kóde, ako je napríklad vložený heslá alebo iné také veci, ktoré by mohli byť zneužitý "hackermi" keby to vedeli. Pokiaľ ide o tento prípad, je potrebné kompletne prehodnotiť bezpečnostnú pozíciu. Nič, čo je prítomný v kóde zaslaného prehliadača je bezpečný od špehovanie užívateľov, ktorí sa snažia "nabúrať" vaše stránky, dokonca ani veci, ktoré sú zostavené do applet (ktorý môže byť rozložiť rôzne pomôcky). Budete musieť presunúť akýkoľvek aspekt vášho webu, ktorý vyžaduje zabezpečenia na strane servera, nie na strane klienta. Server musí byť tam, kde sú porovnávané heslá, štatút používateľa a informácie o histórii je udržiavaná, atď., Ak chcete byť istí, že nič z toho nie je viditeľné alebo hackable koncoví užívatelia.

Potlačenie klikne pravým tlačidlom myši a kopírovanie-a-vkladanie

S tým úzko súvisí s posledným; kopa Benighted jedincov myslí, že môžu zabrániť ľuďom z "krádeže" svojho obsahu stránok vtedy, že dať do nepríjemných skriptov, ktoré potláčajú klikne pravým tlačidlom textové a kopírovanie. Nie, to nefunguje; je to triviálne JavaScript zakázať, a potom skripty robiť vôbec nič. Jediné, čo robia, je obťažujú normálnych používateľov, ktorí majú veľa úplne rozumné veci, ktoré by mohli chcieť čo do činenia s pravým tlačidlom myši a textového kopírovanie, ako je napríklad otváranie odkazov v nových kartách alebo kopírovanie krátkych úsekov na použitie (na základe reálnej poskytovanie využitie autorských práv ) v hodnotení stránok a komentárom.

Odoslaním alebo nie odoslaní formulára ENTER

To je úplne pod kontrolou prehliadača, nie sú stránky autora. Väčšina prehliadačov bude predkladať na ENTER, či je presne jeden text-vstupné polia, a nie ak existuje viac ako jeden. Neexistuje žiadny spôsob, ako prepísať. (Prítomnosť políčok a prepínacích tlačidiel nezdá sa ovplyvniť správanie prehliadača v tejto oblasti).

Že MSIE "bodkované box"

Častá otázka v týchto dňoch je "Ako môžem zakázať bodkované pole, ktoré sa objavujú okolo klikacie obrázok v programe Microsoft Internet Explorer, keď je vybraná?" No, je tú "kludgy" spôsob zakázanie toho, tým, že v JavaScripte "onFocus" udalosť, ktorá volá "rozmazanie ()" funkcia odstrániť pozornosť od aktuálneho objektu; ale existuje veľa používateľov, ktorí budú hnevať, ak to budete robiť. Prerušovaná box je funkcia uľahčenie prístupu pridal Microsoft povoliť prehliadača má byť použitý len z klávesnice bez použitia myši. Niektorí užívatelia dávajú prednosť surfovať týmto spôsobom, alebo majú handicapy, ktoré robia navigácia myšou na báze ťažké alebo nemožné. Ak používate JavaScript poraziť túto funkciu, budú užívatelia, ktorí chcú alebo potrebujú navigovať pomocou klávesnice byť nútený zakázať JavaScript používať vaše stránky.

Sieň Hanby

Aby vaše stránky lepšie pri pohľade na iné stránky, ktoré ukazujú, príkladom, čo sa nesmie robiť!

Poznámka: Zahrnutie miesta v mojom "Sále Hanby" odkazy by nemali byť chápané ako nejaký druh osobný útok na tvorcov webu, ktorý môže byť naozaj skvelý človek, alebo dokonca útok na prepojených stránkach ako celok , čo môže byť zdrojom naozaj skvelé informácie a / alebo zábavu. Trochu, to je jednoducho upozorniť na špecifiká (úmyselné alebo náhodné) z odkazovaných stránok, ktoré spôsobujú problémy, ktoré sa dalo vyhnúť lepším dizajnom. Ak zistíte, jeden z vašich webov je spojená tu, nechápem urazený; zlepšiť vaše stránky tak, že budem musieť zložiť odkaz!

  • Táto webová stránka urobil a pokúšal sa brániť úbohé politiku zakázanie kopírovanie a vkladanie pomocou JavaScriptu... v roku 2013, verili by ste?