Director: come aprire una pop-up.

Di: Wolf | 26/09/2020 17:54:49
Ciao
io ho bisogno di aprire un pop-up html da un proiettore director.
Il file html è locale, nel mio computer..chi sa come fare?
ho usato questo:
gotoNetPage("url.htm","_new")
ma non apre il pop-up

Risposte



Ciao,
hai messo tutto dentro una cartella chiamata "dwsmedia"?
Maury

Di: maury | 26/09/2020 17:54:49


No problem Maury, anzi, grazie mille del tuo contributo.
Aspettiamo ansiosi la risposta di Wolf.

Di: Pablito | 26/09/2020 17:54:49


Dunque, intanto grazie. Ora giunge la mia risposta. ;)
Ho provato con il gotonetpage messo nella cartella dwsmedia, e funziona, cioè apre la pagina html esterna.
Solamente che io ho bisogno di fare un pop-up, cioè finestra con dimensioni che voglio io e senza le varie barre di menu... sapete aiutarmi?
problema 2:
Ho bisogno di bloccare completamente i tasti della tastiera, in modo che l'utente non possa uscire dalla mia applicazione director. Intendo bloccare anche combinazioni come CRTL+ALT+CANC o ALT+F4 o cose del genere..qualche idea?

Di: Wolf | 26/09/2020 17:54:49


Per il pop-up credo che puoi risolvere con l'ultima versione di Director, che se non erro (io uso ancora la 8.5), permette di scrivere codice in javascript.
Certi tasti sono controllati dalle proprieta' optionDown, controlDown e shiftDown, gli altri li devi ricavare con keycode
p.es.
on keydown
put the keycode
end
Maury

Di: maury | 26/09/2020 17:55:49


Si è vero, in director MX 2004 si può usare Javascript, e ho provato... solo che non funzionava...
se qualcuno mi aiuta su come formattarlo, ringrazio.
Per i pulsanti ora provo... non ho capito molto bene ma provo e vediamo se ne vengo fuori.
tnk intanto, dopo faccio sapere...

Di: Wolf | 26/09/2020 17:55:49

KeyDown e menu Javascript in Director MX 2004.

Buongiorno a tutti, aprire un nuovo argomento nel forum funziona perfettamente, ho appena fatto la prova.
Quando selezioni un cast member di tipo Script, nel Property Inspector hai la possibilità di scegliere (sotto il menu Script) la sintassi dello Script (Sintax) e cambiare ad esempio da Lingo a Javascript.
Nello stesso menu puoi modificare il tipo di Script: Movie, Parent, Behavior. Script di tipo Movie è lo script che associ a tutto il filmato di Director.
Sul keyDown ti posso consigliare di usare un semplice script associato al filmato (Movie Script) con:
on keyDown
beep
end
Così l'utente capirà che non dovrà premere alcun tasto.
Togliere all'utente la possibilità di uscire dal programma (quindi togliere l'esc, alt+F4, Reset, ecc.) non mi pare una buona idea... nel senso che io non condannerei mai l'utente a guardarsi il cd per forza e poi può sempre staccare la spina o tenere premuto il pulsante del pc per 5 secondi... (e tutto questo se sarà costretto a farlo, lo farà anche con una certa dose di incazzatura dentro...)
Mai far incazzare l'utente o legargli completamente le mani. Egli si deve sentire libero di girare e di esplorare, anche se spesso ha bisogno di una guida che gli faccia scoprire un nuovo mondo.

Di: Pablito | 26/09/2020 17:55:49


hai ragione da vendere riguardo a come trattare l'utente in un cd...solo che io non faccio un CD! ;)
io devo fare un applicativo per la mostra, e mi serve che l'utente non possa proprio uscire da la, altrimenti gli altri utenti si trovano fregati.
Ma mi è anche venuto in mente che questa cosa non posso farla da director, ma mi serve un applicazione esterna, perché ogni tanto aprirò anche degli html, e i tasti non devono funzionare lo stesso..
ora faccio la prova con il javascript in base a come mi hai detto... tnk 1000

Di: Wolf | 26/09/2020 17:55:49


A questo punto non sarebbe una cattiva idea lasciare solo il mouse all'utente e nascondere la tastiera in qualche posto oppure in una cassetta di sicurezza blindata.
Probabilmente anche il Javascript può tornarti utile per la questione dei tasti... prendi ad esempio il semplicissimo javascript che disabilita il tasto destro del mouse... chissà se ne esiste uno per disabilitare tutta la tastiera...

Di: Pablito | 26/09/2020 17:55:49


Il nascondere la tastiera sarebbe una bella idea (già pensata) se non fosse che i geniacci che hanno comprato i pc hanno preso solo portatili perchè sono più comodi! :(
javascript che disattivano la tastiera ce ne sono, ma nn disattivano le combinazioni di tasti di windows come CTRL+ALT+CANC che cmq credo sia impossibile togliere, anche ricorrendo a Visual basic..

Di: Wolf | 26/09/2020 17:55:49


Allora in questo caso mi sa che devi ricorrere al vecchio sistema. :)
Usa il cartello o qualche avviso del tipo:
- chi toccherà i tasti della tastiera sarà punito severamente con scosse elettriche.
- toccare i tasti di questa tastiera fa male alla salute.
- attenzione, usare solo il mouse.
- la tastiera è stata disabilitata (qui potresti fare un bel bluff con il beep di Director per i tasti normali).
Beh, il resto è tutta fantasia, fammi sapere come risolvi che è molto divertente oltre che interessante.
Il metodo migliore è senza dubbio quello di attaccare il foglietto con l'avviso direttamente sulla tastiera del portatile. Sperando che nessuno lo strappi via...
Con un pò di controllo credo si riesca a gestire bene la situazione in questo modo.

Di: Pablito | 26/09/2020 17:55:49


ehehe belle le idee..credo metterò un addetto con un martelletto che picchia le dita di chi tocca! :P
cmq mi sto già rassegnando all'idea di bloccare la tastiera: credo sia impossbile!
ora, riguardo a javascript, io ho provato a usare questo codice:
javascript:window.open('start.htm','','height=768,width=1024, menubar=0,resizable=0,scrollbars=1,status=0,titlebar=0,toolbar=0');void(0)
ma mi dice che window.open non è una funzione... ora, io non è che sia un genio di js; perchè mi da questo errore? devo dichiarare la funzione? E come?

Di: Wolf | 26/09/2020 17:55:49


Ah, mentre postavi l'ultimo messaggio ho aggiunto qualcosa al mio ultimo...
purtroppo nemmeno io sono un esperto di Javascript, quindi resto in attesa di qualche volontario che chiarisca la faccenda. Ci aggiorniamo fra qualche giorno, chissà che non risponda qualcuno su come disabilitare la tastiera. Intanto vedo se riesco a trovare la soluzione nel web.

Di: Pablito | 26/09/2020 17:55:49


Ciao Wolf,
hai pensato di far vedere le pagine html dentro un campo (formattato html) invece di aprirle con il browser?
Maury

Di: maury | 26/09/2020 17:55:49


in che senso??
ma cmq a me la pagina html che apro mi serve per lanciare un altra pagina contenente flash, e la lancio a tutto schermo in maniera strana.
Praticamente la prima pagina è solo uno starter della seconda..e tutto ciò via javascript..se riuscissi a farlo funzionare avrei risolto tutto..ora sono riuscito a nn fargli dare errore, ma non apre la pagina... :(

Di: Wolf | 26/09/2020 17:55:49


Scusa ma non ho capito se sei collegato in rete o hai tutti i file in locale.
Maury

Di: maury | 26/09/2020 17:56:49

Soluzione Javascript per disabilitare la tastiera.

1) Crea un file .js con il nome notastiera.js e inserisci questo codice come contenuto del file stesso:
function right(e) {
if (navigator.appName == 'Netscape' &&
(e.which == 3 || e.which == 2))
return false;
else if (navigator.appName == 'Microsoft Internet Explorer' &&
(event.button == 2 || event.button == 3)) {
return false;
}
return true;
}
function keypressed() {
alert("Non premere alcun tasto. La tastiera è disabilitata.");
}
document.onkeydown=keypressed;
</--
2) Crea il file html che richiama il codice javascript, scrivendo nel codice, dopo il tag di chiusura </HEAD>:
<script language="javascript" src="notastiera.js"></script>
-->
3) Finito. Adesso quando caricherai la pagina html la tastiera sarà disabilitata.
Fammi sapere, io l'ho provato e funziona alla perfezione con tutti i tasti. Solo il tasto Stamp è l'eccezione... ma credo che in questo caso ti importi davvero poco.
Tuttavia se uno se ne frega dell'avviso e vuole resettare il pc, non ci sarà nulla da fare. Ma anche se qualcuno vorrà staccare la spina sarà lo stesso... Secondo me potrebbero anche portarsi direttamente il portatile a casa... attenzione :)

Di: Pablito | 26/09/2020 17:56:49


Allora... intanto grazie mille. Veramente!
ho provato lo script e funziona, tranne qualche caso strano, tipo quando si preme F1 o F3 che aprono l'help o il cerca e dopo lo script nn funzia più per qualche motivo, ma amen. Ora tra l'altro provo a farlo richiamare da director quello script che forse si sistemano questi problemi.
Per il fatto che volendo possono resettare o staccare la spina amen, quello non lo posso di certo controllare, cacchi suoi.. ;)
Grazie mille, veramente gentile. :D
Poi ti faccio sapere se funziona anche richiamandolo da director
modificato: ok si vede che ho sonno ancora. :P
A me non serve a niente metterlo in director, devo metterlo sulla pagina html, e va benissimo cosi. :D
Quello che devo ancora capire in director è come riuscire ad aprire in pop-up la pagina, ma ci riuscirò :D
Per maury: sono tutto in locale.

Di: Wolf | 26/09/2020 17:56:49


niente...non riesco a farlo funzionare. :(
Ho messo questo script
function () {
window.open('URL');
}
o anche questo
function (){
javascript:window.open('URL','','height=768,width=1024, menubar=0,resizable=0,scrollbars=1,status=0,titlebar=0,toolbar=0');void(0)");
}
ma non funziona... ho detto al cast member di essere movie/javascript, ma lo stesso... non capisco cosa nn funziona... l'url è giusto ma sembra lui legga lo script e non lo esegua. Non da errore, ma semplicemente non fa niente.
idee? :(

Di: Wolf | 26/09/2020 17:56:49


Scrivi l'url che usi. Molto probabilmente il problema e' li.
Scusa se insisto ma non ti coviene richiamare un bel movie director con uno sprite che contiene il file flash?
Maury

Di: maury | 26/09/2020 17:56:49


tranqui di pure le tue idee :D
non posso richiamare un movie director con dentro flash perchè il flash contiene del javascript, e per far funzionare quel javascript l'swf deve stare dentro ad un html. ;)
l'url che uso è il nome del file nella stessa cartella del proiettore director (cioè al posto di URL metto 'prima.html').
Ho provato anche un'altra strada: ho assegnato lo script di prima ad un pulsante, per provare al click ad aprirlo, modificandolo cosi
function mouseDown() {
function () {
window.open('primo.html','','height=768,width=1024,menubar=0,resizable=0,scrollbars=1,status=0,titlebar=0,toolbar=0')
}
}
ma continua a non fare assolutamente nulla...

Di: Wolf | 26/09/2020 17:57:49


Che strano! il nome della cartella e' dswmedia ma anche a me funziona con dwsmedia. Boh?! Cmq ho controllato da Macromedia. Vedi se da qui riesci a sapere qualcosa
http://www.macromedia.com/support/director/internet.html
Un'altra prova: inserire il comando js nel file html e fare solo un richiamo da Lingo (se si puo' fare).
Oppure con lingo fai l'unica cosa che funziona cioe' andare in una pagina web vuota dove inserisci il codice per saltare alla pagina con il file swf.
Maury

Di: maury | 26/09/2020 17:57:49


se ho ben capito come ultima cosa suggerisci di aprire una semplice pagina html che richiama il pop-up. ma non va bene.
Ti spiego perchè.
Io cerco in tutti i modi di aprirla in pop-up perchè all'interno di quella pagina ho inserito un javascript per la chiusura automatica dopo un tot di sec.
Ma se la finetra in cui è il comando nn è un pop-up compare un avviso di explorer che ti avvisa che la pagina sta per essere chiusa, chiedendo conferma.
E quindi non va bene, perchè dopo avrei il problema di chiudere quella pagina aperta dal lingo ;)
tnk lo stesso..
ora do un occhiata al link macromedia...
non ho capito questo:
"Un'altra prova: inserire il comando js nel file html e fare solo un richiamo da Lingo (se si puo' fare)"

Di: Wolf | 26/09/2020 17:57:49


-La pagina vuota aperta si dovrebbe poter chiudere con una funzione js (window.close?) dopo l'apertura del pop-up.
-Non ricordo bene ma se si aggiunge una funzione js dopo l'url, lingo la fa partire con gotonetpage
tipo:
gotonetpage("primo.html?funzione_js")
-Prova ad inserire l'url assoluto alla pagina
-Prova a fare una ricerca su google con shockwave javascript come parole chiavi
-Mi arrendo
Maury

Di: maury | 26/09/2020 17:57:49

Aprire popup da Flash e da Director.

Ciao Wolf, oggi hai da scegliere.
Aprire la pagina HTML da Director e la popup al caricamento della pagina HTML aperta.
Sul bottone di Director che serve per chiamare la pagina html che aprirà "onload" la popup, associa questo Script:
on mouseUp me
goToNetpage ("nomeFile.htm")
end
- All'interno del tag "HEAD" della pagina html "nomeFile.htm" inserisci questo codice Javascript:
<script language="JavaScript" type="text/JavaScript">
function MM_openBrWindow(theURL,winName) { //v2.0 window.open(theURL,winName,'scrollbars=no, resizable=no,width=1024,height=768,status=no,location=no,toolbar=no,titlebar=no);
}
</script>
e sostituisci il tag "BODY" della stessa pagina html con:
<body onLoad="MM_openBrWindow('Nome_File_Popup.html','titolo_popup','')">
-- mi raccomando, non lasciare 2 tag <body>
Fammi sapere

Di: Pablito | 26/09/2020 17:57:49

Rispondo a Maury

"La pagina vuota aperta si dovrebbe poter chiudere con una funzione js (window.close?) dopo l'apertura del pop-up."
si se metto il windows.close() la pagina si chiude, se è in pop-up. Ma se è una finestra normale allora explorer fa comparire un messaggio di allerta in cui chiede se si è sicuri di voler chiudere la pagina. E questo non va bene perchè non ci sarà nessuno a dirgli "ok". Allora ho bisogno che la pagina sia pop-up.
"Non ricordo bene ma se si aggiunge una funzione js dopo l'url, lingo la fa partire con gotonetpage tipo: gotonetpage("primo.html?funzione_js")"
questo non l'ho capito bene. Ora faccio qualche prova ma non ho capito a cosa dovrebbe servire sta cosa.
"Prova ad inserire l'url assoluto alla pagina"
no questo non posso farlo, perchè è in locale, e non so come chiameranno gli utenti, i pc, gli hd..
"Prova a fare una ricerca su google con shockwave javascript come parole chiavi"
già fatto... ;)
"Mi arrendo"
mai arrendersi!! :D ;)

Di: Wolf | 26/09/2020 17:57:49

Rispondo a pablito

per farti capire bene convenga che faccia una cosa.
Uno step delle cose che devono accadere nel mio pc, cosi è più chiaro.
1 - Accensione pc. All'avvio parte in Esecuzione automatica il file .exe di director
2 - Questo .exe lancia una pagina html in pop-up
3 - La pagina in pop-up apre un altra pagina contenente un flash; subito dopo si chiude automaticamente
Il resto non ha rilevanza.
Al punto 2 io ho bisogno che la pagina sia in pop-up perchè poi si deve chiudere automaticamente con windows.close(). Come spiegavo a maury se io do il comando windows.close() ad una pagina non pop-up compare un fastidioso allert di explorer che chiede se si è sicuri di voler chiudere. Io devo ASSOLUTAMENTE evitare quel messaggio di avviso.E l'unico modo è il pop-up. ;)
Al punto 3 apro un altro html contenente flash perchè quel flash contiene del javascript che funziona solamente se l'swf si trova all'interno di un html.
Quindi la tua Ipotesi 1 non funziona perchè la prima pagina aperta non è pop-up e quindi non riuscirei a chiuderla.
La seconda non sono sicuro di aver capito. Dicevi di mettere all'interno di director un flash, e lanciare da esso il mio html pop-up? l'ipotesi è interessante, se non fosse che quella poppa di flash non riesce a far andare javascript al suo intenro se l'swf nn si trova all'intenro di un html con codice particolare.
Quindi non credo che nessuna delle ipotesi funzioni.
Grazie lo stesso cmq..se avete altre idee sarò lieto di provarle :D

Di: Wolf | 26/09/2020 17:57:49


Mi spiego meglio
- Una volta avevo usato il comando window.close e non mi appariva nessun alert del browser.....
- L'idea e' di aprire il pop-up con il comando gotonetpage, visto che il comando js non ti funziona.
Mi sono ricordato che, mentre cercavo come far interagire lingo e php, avevo trovato il modo di inserire una funzione js nell'url di gotonetpage, se non ricordo male si potevano inserire anche variabili. All'epoca mi interessavo di php e non ho dato peso a js per questo ti ho consigliato di spulciare internet alla ricerca di questa soluzione.
- Provalo comunque l'url assoluto, almeno sai se e' per questo che si blocca la funzione js, anche qui informati bene perche' credo che devi mettere qualcosa come "file://" all'inizio e non il nome dell'hd.
- Mai dire mai.
La mia resa e' dovuta al fatto che non uso l'ultima versione di director e non posso aiutarti con js e che tra qualche ora parto per le meritate ferie.
Auguri per la risoluzione del tuo problema e Buone Vacanze.
Maury

Di: maury | 26/09/2020 17:57:49


eheheh ok
tnk 1000 lo stesso, ora faccio le prove che mi hai consigliato..se riesco a mettere il javascript nel gotonetpage ho finito di tribolare!
sciauz e buon divertimento!!!!!

Di: Wolf | 26/09/2020 17:57:49

Soluzione n.1bis

Caro Wolf, scusami se insisto con la ipotesi n.1 ma lo so benissimo che la prima pagina che ti faccio aprire non è pupup... ma la seconda che si apre in automatico e quindi il window.close funziona benissimo, ho provato personalmente.
L'unica modifica, leggendo i tuoi indizi sul progetto è che devi sostituire onMouseUp con on startMovie sul primo frame dello Score, in modo che parta tutto in automatico.
Nel file di Director, che serve per chiamare la pagina html (quella che aprirà subito "onload" la popup), associa questo Script:
on startMovie me
goToNetpage ("nomeFile.htm")
end
- All'interno del tag "HEAD" della pagina html "nomeFile.htm" inserisci questo codice Javascript:
<script language="JavaScript" type="text/JavaScript">
function MM_openBrWindow(theURL,winName) { //v2.0 window.open(theURL,winName,'scrollbars=no,resizable=no,width=1024,height=768, status=no,location=no,toolbar=no,titlebar=no);
}
</script>
e sostituisci il tag "BODY" della stessa pagina html con:
<body onLoad="MM_openBrWindow('Nome_File_Popup.html','titolo_popup','')">
Poi nella popup html inserirai tutti i javascript e swf che vuoi, compreso il parent.close().
Ripeto, io ho provato e funziona.
L'unico "problema" è che così rimane la prima finestra html in background... ma questo è un problema se tutto il resto ha funzionato e compare sul top dello schermo?

Di: Pablito | 26/09/2020 17:58:49

Buone vacanze Maury

Buone vacanze a te Maury e grazie di tutto.
Nel frattempo ieri, forse qualcuno lo avrà notato, ho cambiato le spie che si accendono nel forum per le novità, ed ho italianizzato i bottoni di edit/delete, l'argomento è di 2 pagine, ecc. Sono di vostro gradimento le modifiche?

Di: Pablito | 26/09/2020 17:58:49


Ecco si, con l'ultima domanda hai centrato il problema! :D
non deve rimanere aperto nulla, a parte la mia pagina html che contiene flash!
devo riuscire a chiudere anche la primissima pagina che apro...è proprio la il problema.
Altrimenti con alt+tab passano da un all'altra e non va bene. ;)

Di: Wolf | 26/09/2020 17:58:49


Ecco, ho appena cambiato i parametri per le faccine, perché mi creava un problema quando dovevo scrivere :parent. allora adesso è con il trattino : - ) senza spazi.
xWolf
E allora torniamo al fatto della spina
Sei proprio sicuro che non si portino via il portatile? Ma poi non avevamo inserito il javascript del blocco della tastiera (anche se è un bluff).

Di: Pablito | 26/09/2020 17:58:49


Problema faccine risolto:
http://www.001design.it/forum_italiano/bbcode.php
1, 2, 3 prova codice per la chiusura della pagina popup se crea problemi con faccine:
<a href="javascript:parent.close()"><font size="-2">Close window</font></a>
Ok, funziona.

Di: Pablito | 26/09/2020 17:58:49


il blocco della tastiera infastidisce (bene anche) l'utente ma non gli impedisce di fare alt+tab. Funzia ancora.
E non è la stessa cosa dello staccare la spina. Se uno mi fa alt+tab e mi lascia sopra di tutto la pagina vuota che serve sono da lancher, gli utenti che vengono dopo alla mia mostra non vedranno nulla, e sarà uno schifo.
No quello devo impedirlo. Anche perchè, cavolo, abbiamo comprato il nuovo director anche perchè supporta javascript, e poi nn lo usiamo?
Io credo che un modo ci sia, bisogna trovare quello giusto.. ;)

Di: Wolf | 26/09/2020 17:58:49

Netscape 7.2, la salvezza.

Ok basta, risolvi così:
Installi Netscape 7.1 su tutti i portatili, impostandolo come default e vedrai che la finestra window.close si chiude subito, in ogni caso, senza fare questioni.
E ora non dirmi che ci vuole troppo tempo.
(Infatti il problema principale è che solitamente usiamo tutti Explorer).
Aggiornamento dinamico 17 novembre 2004
Con Netscape 7.2 funziona.
Aggiornamento dinamico 3 dicembre 2004
Anche con Mozilla Firefox 1.0 funziona.

Di: Pablito | 26/09/2020 17:58:49


ma sai che per un attimo mi hai illuso? :P
ho provato su netscape 7.1 ma il close nn funziona proprio..probabilmente va modificato ma non so come..ma a parte quel problema, c'è ne sono anche altri di script che non vanno..tipo quello della tastiera mi pare non funzioni, e un altro per aprire a tutto schermo (e intendo proprio tutto!) una pagina html contenente flash..

Di: Wolf | 26/09/2020 17:59:49

Ieri è già un passato lontano ormai... maledizione... qualcosa è cambiato ancora.

Maledizione
Eppure prima funzionava... chissà cosa diavolo hanno aggiornato dopo l'uscita di Netscape 7.1.
Ne sono sicuro anche perché ho mezzo sito di e-commerce che usa quel benedetto parent.close().
Ed ha sempre funzionato con Netscape senza chiedere l'avviso che invece l'Explorer recente chiede.
In ogni caso io la farei una prova con una versione più vecchia di Netscape, o addirittura di Explorer.
Prima dell'avvento dell'XP Explorer includeva il Java virtual machine e tutte le funzioni javascript erano abilitate.
Poi l'hanno tolto per la famosa concorrenza con Netscape, studiando un nuovo linguaggio proprietario di Microsoft.
Chi prima trova la soluzione la scrive. Buona fortuna Wolf.

Di: Pablito | 26/09/2020 17:59:49

Bloccaggio del tasto esc della tastiera con Director e chiudi popup.

In Director MX 2004 la funzione exitLock, che permette di bloccare l'uscita dal programma usando il tasto esc ecc. lo trovate nel publish settings sotto la voce "Projector".
Puntando sul checkbox ExitLock il valore è impostato su TRUE e quindi si bloccherà l'uscita dal proiettore di Director con il tasto esc o simili.
Nelle precedenti versioni di Director, per bloccare l'uscita bastava creare questo Movie Script:
on startMovie
set the exitLock to TRUE
end
-- Naturalmente accertatevi prima di aver inserito un bel bottone di quit nel vostro filmato se non volete riavviare il computer solo per chiudere un movie.
Per chiudere la pop-up puoi usare:
on mouseUp
gotoNetPage("javascript:self.close();")
end mouseUp

Di: Pablito | 26/09/2020 17:59:49


Ringrazio tutti per l'aiuto.
Alla fine degli script che mi avete suggerito ne ho usato un accrocchio infinito, prendendo un po' qua e un po la. :D
Ora ho un altro problema, che proporrò in un nuovo topic. ;)

Di: Wolf | 26/09/2020 17:59:49