Autor Zpráva
belmirek
Profil
Ahoj, chtěl jsem použít skript na zobrazování náhodného obrázku a do něj vložit skript z Heureky. Kde prosím, dělám chybu?

<script language="JavaScript">
<!-- Hide
function stat(txt) {
window.status = txt;
setTimeout("erase()",2000);
}
function erase() {
window.status="";
}
// -->
</script>

<script language="JavaScript">
var i=Math.round(Math.random()*0);
if (i==0) vloz=' <div id="heurekaIframeHeader" style="text-align: left; margin: 0 auto; font-weight: bold; padding-bottom: 2px;"><a href="http://digitalni-fotoaparaty.heureka.cz/#c543:50">Top Digitální fotoaparáty</a></div> <script type="text/javascript"> document.write('<iframe src=\"http://www.heureka.cz/direct/bannery/?cid=665:50:543\" width=\"400\" height=\"170\" frameborder=\"0\" scrolling=\"no\"><\/iframe>'); </script> ';

</script>

<p align="center">
<SCRIPT LANGUAGE="JavaScript">
document.write(vloz);
</script>
</p>
Keeehi
Profil
if (i==0) vloz='… - v tom textu za tím musíš escapovat apostrofy.
Další chybu tam při zběžném pohledu nevidím.

Mám k tomu poznámku
- Math.random()*0 = ve škole jsme se učili, že cokoliv násobené nulou je nula => i je vždy nula => tudíž i ta podmínka za tím je vždy pravdivá, takže pozbývá smyslu
belmirek
Profil
Keeehi:
Tak jsem to změnil na:

...
<script language="JavaScript">
var i=Math.round(Math.random()*0);
if (i==0) vloz=' <div id=\"heurekaIframeHeader\" style=\"text-align: left; margin: 0 auto; font-weight: bold; padding-bottom: 2px;\"><a href=\"http://digitalni-fotoaparaty.heureka.cz/#c543:50\">Top Digitální fotoaparáty</a></div> <script type=\"text/javascript\"> document.write('<iframe src=\"http://www.heureka.cz/direct/bannery/?cid=665:50:543\" width=\"400\" height=\"170\" frameborder=\"0\" scrolling=\"no\"><\/iframe>'); </script> ';

</script>
...

a zobrazí se mi jen: ';

Ta 0 je v pořádku. Další kódy se tam později přidají, jestli se podaří opravit ten začátek.
Keeehi
Profil
belmirek:
Napsal sem apostrofy ne uvozovky. Není to to samé.
belmirek
Profil
Keeehi:
Bohužel, ani s apostrofy to nejede. Možná jsem to nevysvětlil dost názorně, tak tedy:

Do skriptu (viz http://www.fekipc.estranky.cz/clanky/rady-pre-vas-web-ii_.html):

Náhodné zobrazení obrázku,banneru

<script language="JavaScript">
<!-- Hide
function stat(txt) {
window.status = txt;
setTimeout("erase()",2000);
}
function erase() {
window.status="";
}
// -->
</script>

<script language="JavaScript">
var i=Math.round(Math.random()*2);
if (i==0) vloz='<a href="http://bestpage.cz" target="_blank"><img src="images/banner.gif" width="468" height="60" border="0"></a>';
if (i==1) vloz='<a href="http://bestpage.com" target="_blank"><img src="images/banner.gif" width="468" height="60" border="0"></a>';
if (i==2) vloz='<a href="http://bestpage.biz" target="_blank"><img src="images/"banner.gif width="468" height="60" border="0"></a>';
</script>

<p align="center">
<SCRIPT LANGUAGE="JavaScript">
document.write(vloz);
</script>
</p>


bych chtěl vložit tyto 3 skripty, aby se střídaly:

1)
<div id="heurekaIframeHeader" style="text-align: left; margin: 0 auto; font-weight: bold; padding-bottom: 2px;"><a href="http://digitalni-fotoaparaty.heureka.cz/#c543:50">Top Digitální fotoaparáty</a></div> <script type="text/javascript"> document.write('<iframe src=\"http://www.heureka.cz/direct/bannery/?cid=665:50:543\" width=\"400\" height=\"170\" frameborder=\"0\" scrolling=\"no\"><\/iframe>'); </script>

2)
<div id="heurekaIframeHeader" style="text-align: left; margin: 0 auto; font-weight: bold; padding-bottom: 2px;"><a href="http://televizory.heureka.cz/#c543:50">Top Televizory</a></div> <script type="text/javascript"> document.write('<iframe src=\"http://www.heureka.cz/direct/bannery/?cid=680:50:543\" width=\"400\" height=\"170\" frameborder=\"0\" scrolling=\"no\"><\/iframe>'); </script>

3)
<div id="heurekaIframeHeader" style="text-align: left; margin: 0 auto; font-weight: bold; padding-bottom: 2px;"><a href="http://notebooky.heureka.cz/#c543:50">Top Notebooky</a></div> <script type="text/javascript"> document.write('<iframe src=\"http://www.heureka.cz/direct/bannery/?cid=750:50:543\" width=\"400\" height=\"170\" frameborder=\"0\" scrolling=\"no\"><\/iframe>'); </script>


Pomůže odborník na javascript?
Keeehi
Profil
Oni jsou tam 2 problémy. První souvisí s tím, že nevíte, že to s apostrofy souvisí. Ty apostrofy se prostě escapovat musí!
if (i==0) vloz='<div id="heurekaIframeHeader" style="text-align: left; margin: 0 auto; font-weight: bold;
padding-bottom: 2px;"><a href="http://digitalni-fotoaparaty.heureka.cz/#c543:50">Top Digitální fotoaparáty</a>
</div> <script type="text/javascript">
document.write(\'<iframe src="http://www.heureka.cz/direct/bannery/?cid=665:50:543" width="400"
height="170" frameborder="0" scrolling="no"></iframe>\');</script>';

Druhá souvisí s prohlížečem, který text </script> v tom řetězci špatně interpretuje jako koncovou značku toho javascriptu.
vyřeší to toto:
<script type="text/javascript">
<!--

JS kód

//-->
</script>

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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