Autor Zpráva
modrosyr
Profil *
jak se da zapsat script pocitadla, treba tenhle:

<script language="JavaScript" type="text/javascript">
<!--
Tmp=Math.floor(1000000 * Math.random());
document.write("<scr" + "ipt src=\"http://cnt2.pocitadlo.cz/counter.php?poc=?????&ref="+escape(top. document.referrer)+"&depth="+screen.colorDepth+"&width="+screen.width+ "&height="+screen.height+"&tmp="+Tmp+"\" language=\"JavaScript\" type=\"text/javascript\"></scr" + "ipt>");
// -->
</script>
<noscript>
<img src="http://cnt2.pocitadlo.cz/counter.php?poc=?????&ns=1" width="1" height="1" alt="" border="0"/>
</noscript>

tak aby mohl byt v externim .js souboru?

ja mam problem s tim, ze kdyz system narazi na <noscript>, tak vypne JS celkove a ostatni skripty (v tom externim .js) prestanou fungovat ...

da se to nejak vyresit?
Joker
Profil
Nevypne JS, problém je někde jinde: to HTML v JavaScriptu nemá co dělat. Takže se prostě dojde na konec JavaScriptu a další skripty v tom souboru se nejspíš ignorují.
Čili v tom souboru by měl být jen JS:

soubor.js:
Tmp=Math.floor(1000000 * Math.random());
document.write("<scr" + "ipt src=\"http://cnt2.pocitadlo.cz/counter.php?poc=?????&ref="+escape(top. document.referrer)+"&depth="+screen.colorDepth+"&width="+screen.width+ "&height="+screen.height+"&tmp="+Tmp+"\" language=\"JavaScript\" type=\"text/javascript\"></scr" + "ipt>");

soubor.html:
<script type="text/javascript" src="soubor.js" />
<noscript>
<img src="http://cnt2.pocitadlo.cz/counter.php?poc=?????&ns=1" width="1" height="1" alt="" border="0"/>
</noscript>
modrosyr
Profil *
Nevypne JS, problém je někde jinde: to HTML v JavaScriptu nemá co dělat. Takže se prostě dojde na konec JavaScriptu a další skripty v tom souboru se nejspíš ignorují.

aha! uz tomu rozumim. nevis, co tahle deklarace v pocitadle vlastne dela?

<noscript>
<img src="http://cnt2.pocitadlo.cz/counter.php?poc=?????&ns=1" width="1" height="1" alt="" border="0"/>
</noscript>

ja jsem ji uplne vyhodil, pocitadlo funguje, jen jsem si vsiml, ze se to cely zpozdilo, jako ze probehne ten script POCITADLA a dost dlouho se ceka s bilou strankou, nez se nacte obsah ... kdyz tam byla ta deklarace <noscript>... </noscript>, tak to bylo viditelne bezproblemovy. nicmene pocitadlo pocita ...

zpet k problemu: da se "<noscript>... </noscript>" uplne vyhodit z pocitadla? nebo jinym zpusobem "natahnout" do stranky z vnejsiho souboru?
Joker
Profil
nevis, co tahle deklarace v pocitadle vlastne dela?
Vím :-)
JavaScript se totiž dá vypnout, případně ho prohlížeč vůbec nemusí podporovat (třeba v mobilech)
No a od toho je ta část <noscript>.
Tedy na prohlížeči s JavaScriptem (případně tedy něčím jiným, pokud je skript v jiném jazyce) se provede část <script> a část <noscript> se ignoruje.
Na prohlížeči nepodporujícím JavaScript se ignoruje část <script> a zobrazí část <noscript>
Na nějakém hodně zastaralém prohlížeči, který vůbec nezná značku <script>, by se zobrazilo <script> i <noscript>, tj. zdrojový kód skriptu by se vypsal přímo do stránky. Proto se používá tato konstrukce:
<script type="text/javascript">
<!--
*skript*
-->
</script>
<noscript>
*část pro prohlížeče bez podpory skriptů*
</noscript>

Protože <!-- je v JavaScriptu jen jednořádkový komentář, v prohlížeči podporujícím JS se kód normálně provede. Prohlížeč neznalý značky <script> to bude pokládat za HTML, kde je komentář všechno až ke značce --> a skript se nezobrazí.

Je nicméně otázka, nakolik tenhle přístup má dneska ještě smysl, když snad všechny byť i okrajové prohlížeče tag <script> znají.
Toto téma je uzamčeno. Odpověď nelze zaslat.