Il linguaggio JavaScript
 

aprire casualmente un popup con un url diverso

65C02 12 Nov 2014 23:32
Stavo adattando un javascript che redirettava casualmente su un url
generando un numero casuale associato ad uno specifico url.
Avevo bisogno pero' che invece di cambiare pagina, il brower lo
inserisse in un pop up quindi ho modificato lo script cosi'

<script language="JavaScript" type="text/javascript">
<!--
// Prelevato su http://www.web-link.it

function go_to(url)
{
window.open(url,scrollbars=yes,resizable=yes,width=800,height=800,status
=yes,location=no,toolbar=no);
}
function rand_link()
{
var a;
a=1+Math.round(Math.random()*3);
if (a==1) go_to("http://www.nowvideo.at/video/699ffc56a37fb");
if (a==2) go_to("http://www.nowvideo.at/video/56b9f16204585");
if (a==3) go_to("http://www.nowvideo.at/video/d33a670244868");
}
// End -->
</SCRIPT>

<a href="javascript:rand_link();">visiona un telefilm a scelta
casuale</a>

pero non mi funziona nulla. Ho passato lo script nella console js ma non
ho nessun errore, pero lo script non funziona!

Allora ho provato ad inserire window.open accando alla if

<script language="JavaScript" type="text/javascript">
<!--
// Prelevato su http://www.web-link.it

function rand_link()
{
var a;
a=1+Math.round(Math.random()*3);
if (a==1)
window.open(http://www.nowvideo.at/video/699ffc56a37fb,scrollbars=yes,re
sizable=yes,location=no,toolbar=no);
if (a==2)
window.open(http://www.nowvideo.at/video/56b9f16204585,scrollbars=yes,re
sizable=yes,location=no,toolbar=no);
if (a==3)
window.open(http://www.nowvideo.at/video/d33a670244868,scrollbars=yes,re
sizable=yes,location=no,toolbar=no);
}
// End -->
</SCRIPT>

<a href="javascript:rand_link();"><h3>visiona un telefilm a scelta
casuale</h3></a>

ma non funziona nemmeno cosi' e la js console non mi da errori.

Ma dove diavolo sto toppando? :#)

grazie per l'aiuto!



--
"I bit portano i caratteri.
I caratteri le parole.
Le parole, l'anima."
www.6502.4000.it

From november 2007 until december 2010, I did 118 days of ghost recon!

-------------------------------
NON Edizioni Il Cazzaro di 65C02

www.calameo.com/accounts/781945
www.issuu.com/65c02
www.scrib.com/marco_6502
http://free.yudu.com/library/579912/65C02-s-Library

www.youtube.com/user/65C02*****s
-------------------------------

***io scrivo in copyleft(by-nc-nd)***
ZER0 13 Nov 2014 17:56
On 12/11/14 23:32 , 65C02 wrote:

> Stavo adattando un javascript che redirettava casualmente su un url
> generando un numero casuale associato ad uno specifico url.
> Avevo bisogno pero' che invece di cambiare pagina, il brower lo
> inserisse in un pop up quindi ho modificato lo script cosi'
[..]
> window.open(url,scrollbars=yes,resizable=yes,width=800,height=800,status
> =yes,location=no,toolbar=no);

Le opzioni della finestra sono stringhe, la sintassi che hai usato non
ha senso – JS inoltre cercherà una variabile `yes` e `no`, che non
troverà, quindi nella console degli errori troverai un `ReferenceError`
in merito.

Inoltre il secondo parametro è il nome, on le features, vedasi:

https://developer.mozilla.org/en-US/docs/Web/API/Window.open

Quindi, in sostanza, quella linea sarebbe dovuta essere qualcosa tipo:

window.open(url, "",
"scrollbars=yes,resizable=yes,width=800,height=800,status=yes,location=no,toolbar=no");

Una versione un pelo piú efficiente del suddetto codice, sarebbe potuta
essere:

<script type="text/javascript">

var urls = [
"http://www.nowvideo.at/video/699ffc56a37fb",
"http://www.nowvideo.at/video/56b9f16204585",
"http://www.nowvideo.at/video/d33a670244868"
];

function go_to(url) {
window.open(url, "", "scrollbars=yes, resizable=yes,
width=800,height=800, status=yes, location=no,toolbar=no");
}

function rand_link() {
var index = Math.floor(Math.random() * urls.length);

go_to(urls[index]);

return false;
}
</script>

<a href="#" onclick="return rand_link()">visiona un telefilm a
scelta casuale</a>


Ma ti consiglio comunque di guardare il link sopracitato; ad esempio io
le feature le scriverei diversamente.

> Ma dove diavolo sto toppando? :#)

Vedi su.

> grazie per l'aiuto!

Di nulla!
Dr J R Stockton 13 Nov 2014 21:41
In it.comp.lang.javascript messaggio <1lv0tnk.m6zzzai2kpm0N%info@omaha-
beach_ANTISPAM_.net>, Wed, 12 Nov 2014 23:32:12, 65C02 <info@omaha-
beach_ANTISPAM_.net> ha scritto:


>function rand_link()
>{
>var a;
>a=1+Math.round(Math.random()*3);

That gives 1 with pro*****ility 1/6, 2 with pro*****ility 1/3, 3 with
pro*****ility 1/3, 4 with pro*****ility 1/6.

>if (a==1)
>window.open(http://www.nowvideo.at/video/699ffc56a37fb,scrollbars=yes,re
>sizable=yes,location=no,toolbar=no);
>if (a==2)
>window.open(http://www.nowvideo.at/video/56b9f16204585,scrollbars=yes,re
>sizable=yes,location=no,toolbar=no);
>if (a==3)
>window.open(http://www.nowvideo.at/video/d33a670244868,scrollbars=yes,re
>sizable=yes,location=no,toolbar=no);
>}

and nothing happens if a == 4. Use Math.floor instead of Math.round to
get 1 to 3 with equal pro*****ility 1/3.

Non parlo italiano :-(

--
(c) John Stockton, nr London UK Reply address via Merlyn ******* Page.
news:comp.lang.javascript FAQ <http://www.jibbering.com/faq/index.html>.
<http://www.merlyn.demon.co.uk/js-index.htm> jscr maths, dates, sources.
<http://www.merlyn.demon.co.uk/> TP/BP/Delphi/jscr/&c, FAQ items, links.
F.O. 15 Nov 2014 18:37
interesting to*****!

Il Thu, 13 Nov 2014 20:41:41 +0000, Dr J R Stockton ha scritto:

> In it.comp.lang.javascript messaggio <1lv0tnk.m6zzzai2kpm0N%info@omaha-
> beach_ANTISPAM_.net>, Wed, 12 Nov 2014 23:32:12, 65C02 <info@omaha-
> beach_ANTISPAM_.net> ha scritto:
>
>
>>function rand_link()
>>{
>>var a;
>>a=1+Math.round(Math.random()*3);
>
> That gives 1 with pro*****ility 1/6, 2 with pro*****ility 1/3, 3 with
> pro*****ility 1/3, 4 with pro*****ility 1/6.
>
really?
they seem quite similar
http://www.w3schools.com/jsref/jsref_round.asp
http://www.w3schools.com/jsref/jsref_floor.asp

>>if (a==1)
>>window.open(http://www.nowvideo.at/video/699ffc56a37fb,scrollbars=yes,re
>>sizable=yes,location=no,toolbar=no);
>>if (a==2)
>>window.open(http://www.nowvideo.at/video/56b9f16204585,scrollbars=yes,re
>>sizable=yes,location=no,toolbar=no);
>>if (a==3)
>>window.open(http://www.nowvideo.at/video/d33a670244868,scrollbars=yes,re
>>sizable=yes,location=no,toolbar=no);
>>}
>
> and nothing happens if a == 4. Use Math.floor instead of Math.round to
> get 1 to 3 with equal pro*****ility 1/3.
Gotcha!, Ok thank you

Links
Giochi online
Dizionario sinonimi
Leggi e codici
Ricette
Testi
Webmatica
Hosting gratis
   
 

Il linguaggio JavaScript | Tutti i gruppi | it.comp.lang.javascript | Notizie e discussioni javascript | Javascript Mobile | Servizio di consultazione news.