Autor Zpráva
Petr ZZZ
Profil
Javascript způsobí varovnou hlášku na tentýž soubor z disku, ale ne z internetu.

Zdravím,

po studiu vláken
Stránka uvnitř <iframu> přesměruje celou stránku a
Jak vyskočit z iframu
jsem si dal do hlavičky souboru index.htm tento kód:

<script type="text/javascript">
	if ( top.location.href!= window.location.href ) top.location.replace(window.location.href)
    </script>


Otevřu-li soubor, napíše mi prohlížeč (IE6) varovnou hlášku (zhruba překládám z němčiny):
Zobrazení aktivního obsahu, který by mohl napadnout vás počítač, bylo z bezpečnostních důvodů omezeno.
Odstraním-li ten javascript, varovná hláška se neobjeví.

Asi to bude nastavením bezpečnostního stupně v prohlížeči. Protože ale nevím, jak má kdo nastavený prohlížeč, a nechci, aby návštěvníci mých stránek byli plašeni nějakým varováním, tak teď přemýšlím, zda to raději neodstranit a případné "odcizení" webu do rámu, pokud se o něm dovím, neřešit raději emajlem. Zmíněný kód je to jediné, co mám na webu v javascriptu, jinak je vše jen HTML+CSS.

Jenom mě zaráží, že ta varovná hláška se objeví pouze tehdy, když otevřu soubor z disku. Otevřu-li ho z internetu, hláška se mi neobjeví. Nevíte někdo, čím je způsobeno to dvojí chování prohlížeče resp. jak to řešit? Ty soubory jsou opravdu naprosto identické, teprve před pár minutami jsem ten nový index.htm s javascriptem nahrál na web (www.zabra.at).

Děkuji předem.
Chamurappi
Profil
Reaguji na Petra ZZZa:
nevím, jak má kdo nastavený prohlížeč, a nechci, aby návštěvníci mých stránek byli plašeni nějakým varováním
Děje se to (při výchozím nastavení) skutečně jen při prohlížení stránek z disku.

Viz starší debaty:
ActiveX, skripty
skripty offline
Petr ZZZ
Profil
Díky, Chamurappi, zdá se tedy, že na to asi nebude recept. Něco jsem sice právě zkusil, ale obávám se, že to k ničemu nebude. Uzavřel jsem ten skript v hlavičce do komentáře:
<!-- 
	<script type="text/javascript">
		if ( top.location.href!= window.location.href ) top.location.replace(window.location.href)
	</script>
-->

To varování tedy zmizelo, ale obávám se, že tím uzavřením do komentáře se skript stane neúčinným. Nebo že by ne...? Kdysi jsem totiž kdesi cosi četl, že uzavřením něčeho do komentáře se dá nějaký problém obejít, ale nejsem schopen si vzpomenout, o co šlo. Děkuji předem za další trpělivou odpověď.
Chamurappi
Profil
Reaguji na Petra ZZZ:
zdá se tedy, že na to asi nebude recept
Tento jev se neprojevuje na webu, není nutné hledat recept. V Exploreru ve vlastním počítači si můžeš toto varování vypnout, viz mnou uvedené odkazy.

obávám se, že tím uzavřením do komentáře se skript stane neúčinným
Ano.

Kdysi jsem totiž kdesi cosi četl, že uzavřením něčeho do komentáře se dá nějaký problém obejít
Asi jsi četl o uzavírání vnitřku <script>u do komentáře — to se dělalo proto, aby prohlížeče, které neznají element <script> (tzn. Netscape 1, Explorer 2), nezobrazily uvedený kód návštěvníkovi. Takové historické prohlížeče se ovšem více jak deset let nepoužívají, takže pravděpodobně i tvůj kdysi-kdesi zdroj minul dobu.
Petr ZZZ
Profil
Chamurappi #4:
Tento jev se neprojevuje na webu, není nutné hledat recept.

To jsem pochopil, ale zjistil jsem, že mi při práci na stránce (offline) to varování jde hrozně na nervy. Budu to řešit tím uzavřením do komentáře a než to nahraju na web, z komentáře to vyndám. Tím pádem nemusím nastavovat nic v prohlížeči (jen na ten komentář nesmím zapomenout :-) . Každopádně díky za cenné informace!
Chamurappi
Profil
Reaguji na Petra ZZZ:
Tím pádem nemusím nastavovat nic v prohlížeči
Zaškrtnutí jednoho zaškrtávátka je mnohem snazší než přidávání komentářů.
Petr ZZZ
Profil
Chamurappi
Zaškrtnutí jednoho zaškrtávátka je mnohem snazší

No jo, ale když si nastavím prohlížeč na nižší stupeň bezpečnosti, tak se to asi neprojeví jen na souborech z disku, ale i na těch online, ne? (Jsem lama, ničemu nerozumím a bojím se. Mám vypnuté to a ono, aby se mi na disk nenacpala z internetu nějaká šeredná neplecha, které se z vlastních sil nezbavím :-)))
Chamurappi
Profil
Reaguji na Petra ZZZ:
Chápu tvé obavy, ale toto nastavení se týká opravdu jen souborů na disku a myslím si, že bezpečnost neohrožuje.

1. V aplikaci Internet Explorer klepněte na tlačítko Nástroje a potom na příkaz Možnosti Internetu.
2. Klepněte na kartu Upřesnit a potom na seznam Nastavení přesuňte se dolů na část Zabezpečení.
3. Zaškrtněte políčko Povolit spuštění aktivního obsahu v souborech v počítači a klepněte na tlačítko OK.
— zdroj: Bubák / nápověda k Internet Exploreru.
_es
Profil
Alebo sa dá použiť aj komentár Mark of the Web (MSDN), http://llook.wz.cz/weblog/spot/saved-from-about-internet
Bubák
Profil
Pokud neuděláš nic jiného, než že zaškrtneš „Povolit spuštění aktivního obsahu ze souborů v počítači“, tak se nemůže nic stát. Pokud nevěříš, tak tě snad uklidní to, že vlastně z disku potřebuješ spouštět jen své skripty.

Pokud si pomocí IE z internetu stáhneš na disk nějakou stránku, IE ji označkuje a dovolí spuštění aktivního obsahu, více třeba tady:
http://msdn.microsoft.com/en-us/library/ms537628(VS.85).aspx
Takže funkci zaškrtávatka v IE nechápu, protože nepovolení jde krásně obejít.
Petr ZZZ
Profil
Bubák #10:
tak tě snad uklidní
[...]
funkci zaškrtávatka v IE nechápu

No, to mě tedy dvakrát neuklidní. :-)))

Pokud si pomocí IE z internetu stáhneš na disk nějakou stránku

Mám to chápat tak, že IE-prohlížeč obsah složky Temporary Internet Files nepovažuje za obsah na disku? (Jinak řečeno, přece mám na disku okamžitě všechno, na co se v internetu podívám, ne?)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: