PDA

View Full Version : javascript msgbox+audio onload??


brubaker
31-03-2014, 21:02
Come da titolo spero che qualcuno su questo mi sappia rispondere all'aperture di una pagina mi parta un msgbox confirm con audio e al tasto cancel mi esegua alcune funzioni...:O
L'esempio che segue per farvi capire e' in Vbscript..a me servirebbe in java....
Sub RunProva

WScript.sleep 1000
Set Player = createobject("Wmplayer.OCX.7")
Player.url = "_Voices_Control_Devices\Welcome.aac"

IntReturn = MSGBOX ("WELCOME", 1+64,"AVVISO!!!")

If (IntReturn = vbOK) Then

End If

If (IntReturn = vbCANCEL) Then

Set WCShell = CreateObject("Wscript.Shell")
WCShell.Run ("_Control_Devices\BYE.exe")
WCShell.Run ("TASKKILL /F /IM mshta.exe")

End If

End Sub

Io in javascript sono arrivato fin qui::mbe:

var myVar;
function myFunction()
{
myVar=setTimeout(function() {confirm ("WELCOME")},1000);
}
</script>

<body onload="myFunction()">

</body>
Qualcuno riesce a completarmi la funzione in javascript allo stesso modo di come funziona nel linguaggio vbscript???????:confused: :rolleyes:

OoZic
31-03-2014, 23:19
non ho capito cosa vuoi fare sinceramente.

inoltre java != javascript

javascript nel browser è solo client-side nn hai accesso al file-system

brubaker
01-04-2014, 12:34
Certo che ha accesso al file-system:O
devo fare una cosa del genere:
<script type="text/javascript">

function show_confirm()

{
var r=confirm("WELCOME");

if (r==true)
{

}
else
{
var shell = new ActiveXObject("WScript.shell");
shell.run("BKP\\Progamma.exe");
window.close();
}
}
window.onload = show_confirm;

</script>

NON ho capito perchè se imposto il ritardo del MSGBOX non mi controlla piu' la funzione OK/CANCEL...:

<script type="text/javascript">

function show_confirm()

{
var r=setTimeout(function() {confirm ("WELCOME")},1000);
if (r==true)
{

}
else
{
var shell = new ActiveXObject("WScript.shell");
shell.run("BKP\\progamma.exe");
window.close();
}
}
window.onload = show_confirm;

</script>
Dove sbagliooo...:muro:

wingman87
01-04-2014, 13:31
Usa il tag CODE per postare codice sul forum, così si legge meglio e troverai più gente disposta ad aiutarti.

Hai letto la documentazione della funzione che stai usando?
https://developer.mozilla.org/en-US/docs/Web/API/Window.setTimeout
Il check sul valore restituito dalla confirm lo devi fare nella funzione che hai passato a setTimeout. Il valore restituito da setTimeout non c'entra nulla con la chiamata a confirm (è ovvio che non potrebbe essere altrimenti, visto che la confirm viene eseguita asincronamente).

tomminno
01-04-2014, 15:12
function myFunction()
{
setTimeout(function()
{
var snd = new Audio(audioUrl);
snd.load();
snd.play();
confirm ("WELCOME");
},1000);
}


Ovviamente il file audio deve essere in un formato comprensibile al browser, quindi ad oggi andrei sull'mp3 che è supportato da tutti i browser.

Comunque è Javascript non Java, sono 2 linguaggi ben differenti.

tomminno
01-04-2014, 15:17
Certo che ha accesso al file-system:O

Dove sbagliooo...:muro:

Sbagli ad usare ActiveX! :D
Nel mondo d'oggi dove Microsoft è in netta minoranza ci si ostina ancora ad usare tecniche disponibili solo su IE?
Comunque gli ActiveX sono bloccati di default, la tua pagina non funzionerebbe.

brubaker
01-04-2014, 16:10
function myFunction()
{
setTimeout(function()
{
var snd = new Audio(audioUrl);
snd.load();
snd.play();
confirm ("WELCOME");
},1000);
}


Ovviamente il file audio deve essere in un formato comprensibile al browser, quindi ad oggi andrei sull'mp3 che è supportato da tutti i browser.

Comunque è Javascript non Java, sono 2 linguaggi ben differenti.

Quindi in tutto questo?? qualcuno puo' farmi un esempio sulla base del mio codice ..perche' non continua a funzionarmi...:muro: :mbe:

Ok..Grazie!!!! risolto cosi'

<script type="text/javascript">

window.onload=function() {

window.setTimeout(Welcome, 1000);
};
function Welcome()
{
var r = confirm("WELCOME");
if (r==true)
{

}
else
{
var shell = new ActiveXObject("WScript.shell");
shell.run("BKP\\prova.exe");
window.close();
}
}

</script>

..Adesso mi Manca solo il modo di far partire l'audio con ritardo di 1sec insieme al MSGBOX...??????????????????????

tomminno
01-04-2014, 16:54
Quindi in tutto questo?? qualcuno puo' farmi un esempio sulla base del mio codice ..perche' non continua a funzionarmi...:muro: :mbe:

Ma in che senso non ti funziona? Hai un url a cui è disponibile il file audio che vuoi riprodurre?

Il tuo codice non funziona a prescindere perchè è pieno di ActiveX che funzionano solo su IE e che fanno riferimento a path locali.

Se vuoi una pagina html funzionante questo è il codice completo:


<html>
<script>
function myFunction()
{
setTimeout(function()
{
var snd = new Audio('http://www.html5tutorial.info/media/vincent.mp3');
snd.load();
snd.play();
confirm ("WELCOME");
},1000);
}
</script>

<body onload="myFunction()">

</body>
</html>

brubaker
01-04-2014, 17:04
Ma in che senso non ti funziona? Hai un url a cui è disponibile il file audio che vuoi riprodurre?

Il tuo codice non funziona a prescindere perchè è pieno di ActiveX che funzionano solo su IE e che fanno riferimento a path locali.

Se vuoi una pagina html funzionante questo è il codice completo:


<html>
<script>
function myFunction()
{
setTimeout(function()
{
var snd = new Audio('http://www.html5tutorial.info/media/vincent.mp3');
snd.load();
snd.play();
confirm ("WELCOME");
},1000);
}
</script>

<body onload="myFunction()">

</body>
</html>


Ma a me non mi interessa una pagina html funzionante:O :D sto scrivendo un codice per un launcher in .*hta che poi converto in .*exe per dei progammi da usare per una azienda software...;) diciamo che la mia parte e' quella di un dito di un intero corpo umano...:)
Infatti il tuo esempio non mi funziona sulla mia compilazione ....l'ultimo mio esmpio invece si...

tomminno
01-04-2014, 17:25
Ma a me non mi interessa una pagina html funzionante:O :D sto scrivendo un codice per un launcher in .*hta che poi converto in .*exe per dei progammi da usare per una azienda software...;) diciamo che la mia parte e' quella di un dito di un intero corpo umano...:)
Infatti il tuo esempio non mi funziona sulla mia compilazione ....l'ultimo mio esmpio invece si...

Allora forse è il caso che specifichi prima quello che vuoi fare.

Ma un codice del genere, a questo punto non so nemmeno in che punto inserirlo, non ti funziona?


player = new ActiveXObject("WMPlayer.OCX.7")
player.URL="...";
player.controls.play();

brubaker
01-04-2014, 17:48
Allora forse è il caso che specifichi prima quello che vuoi fare.

Ma un codice del genere, a questo punto non so nemmeno in che punto inserirlo, non ti funziona?


player = new ActiveXObject("WMPlayer.OCX.7")
player.URL="...";
player.controls.play();


No nn mi funziona stessa cosa di questo
WScript.sleep 1000
Set Player = createobject("Wmplayer.OCX.7")
Player.url = "_Voices_Control_Devices\Install.aac"

Nel momento in cui viene convertito in exe le funzioni e gli eventi dei file locali rimarrebbero fuori..cioe' i file audio che ne sono circa una 20ina per farmi capire non verrebbero racchiusi in un unico .*exe compilato a lavoro finito..:D quindi quello che servirebbe adesso è un id='Audio' fuori dal linguaggio javascript o vbscript contenuto sempre nella pagina.*hta da integrare in questa funzione:
<script type="text/javascript">

window.onload=function() {

window.setTimeout(Welcome, 1000);
};
function Welcome()
{
var r = confirm("WELCOME");
if (r==true)
{
Audio.Stop()
}
else
{
var shell = new ActiveXObject("WScript.shell");
shell.run("BKP\\prova.exe");
window.close();
}
}

</script>
Quindi si apre il launcher dopo 1s "MSGBOX + Audio" premendo su OK stop Audio con launcher in funzione....premendo Cancel chiusura launcher + apertura secondo progamma "BKP\\prova.exe"...:rolleyes: :D :) :muro:

brubaker
01-04-2014, 18:38
OK risolto il rompicapo di oggi con questo codice completo::D :D :D
<script type="text/javascript">

window.onload=function() {

window.setTimeout(Welcome, 1000);
};
function Welcome()
{
var r = confirm("WELCOME");
if (r==true)
{
welcome.Stop();
}
else
{
var shell = new ActiveXObject("WScript.shell");
shell.run("BKP\\BYEBYE.exe");
window.close();
}
}

</script>

<OBJECT id="welcome" TYPE="application/x-mplayer2">

<PARAM NAME="FileName" VALUE="Welcome.aac">

<PARAM NAME="AutoPlay" VALUE="1">

<PARAM NAME="ShowControls" VALUE="0">

</OBJECT>
ok full close for day.....mi aspettano 3 cose: BIRRA...RAGAZZA..e una rollata di CANNA...un grazie a tutti per l'impegno alla proxxx;)