• User

    Come inserisco codice ASP dentro un Javascript?

    Ciao ragazzi vorrei porvi un probleama che nono riesco proprio a risolvere, dunque:

    vorrei inserire dentro ad un codice Javascript

    <script type="text/javascript" src="swfobject.js"></script>
    <script type="text/javascript">
    var s1 = new SWFObject("mediaplayer.swf","mediaplayer","300","170","7");
    s1.addParam("allowfullscreen","true");
    s1.addVariable("width","300");
    s1.addVariable("height","170");
    s1.addVariable("file","/public/video/video.flv");
    s1.addVariable("image","video.jpg");
    s1.write("container");
    </script>
    del codice ASP.

    Il codice Javascript che vedete sopra è uno script che ho trovato online che crea un lettore video streaming (tipo quello di youtube per intenderci).
    Infatti dandogli in pasto un file video.flv lui correttamente su una pagina html mi fa vedere il relativo player di cui vi stavo parlando.

    Nel mio caso invece i video vengono inseriti da una pagina di amministrazione creata apposta e il relativo codice ASP che andrebbe al posto del file.flv è <%=mia.name%> (ovvero è una variabile che ciclicamente preleva da un DB di Access il campo dove sono elencati i nomi dei file.flv da visualizzare).

    Ho provato a sostituire questa riga

    s1.addVariable("file","/public/video/video.flv");con questa
    s1.addVariable("file","/public/video/<%=mia.name%>");ma il risultato è che mi viene visualizzato un solo player (ovviamente quello del file in cima al DB) e la cosa strana è che mi si incasina tutta la pagina!Ovvero il CSS si sballa incredibilmente!
    Se invece elimino lo script, in maniera corretta mi visualizza tutti gli altri dati che gli dico di prelevare, come ad esempio NomeVideo, SizeVideo, UrlVideo..ma quando abilito il javascript mi scompare tutto e si incasina tutta la pagina.
    Quello che vorrei realizzare è una pagina suddivisa in 4 colonne:

    Nome del Video Grandezza Video Scarica Player OnLine

    .......................... ............................ .............. ........................
    .......................... ............................ .............. ........................
    .......................... ............................ .............. ........................

    E proprio nella <td> della 4° colonna vorrei metterci il javascript in questione.
    E' come se entrata dentro l'esecuzione dello javascript non riuscisse + ad uscire, causando anche errori nella visualizzazione di tutto il resto.. (magari anche no, ma è l'unica spiegazione che mi sono riuscito a dare.. )

    Per farvi capire meglio che problemi mi da vi posto l'immagine del sito prima del aggiunta dello script alla pagina asp:

    e dopo l'aggiunta del javascript:*

    img256.imageshack.us/img256/2765/dopoti5.jpg

    *Ma che caspita succede? Perchè mi da tutti questi problemi il javascript con ASP e se lo utilizzo con semplice HTML scrivendogli nel codice i file *.flv che voglio che esegua funziona perfettamnete?

    Mi sapreste spiegare questo arcano problema?
    Se avete bisogno di altre delucidazioni rimango a vostra completa disposizione!
    Grazie a tutti quanti!!!


  • Super User

    Ciao, potresti postare un pò di codice? Se scrivi quello sopra nella pagina ASP, qual'è l'output HTML?


  • User

    Ciao, Certo!

    Questo è quello che genera il codice nell' HTML:

    <html xmlns="hxxp://vvv.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Video</title>
    <link rel="stylesheet" type="text/css" href="/css/style.css" />
    </head>

    <body>

    <div id="container">
    <div id="holder" class="clearfix">
    <div id="logo">

            <h1>****</h1>
        </div>
        <div id="navigation">
            <ul>
                <li><a href="/index.asp">HOME</a></li>
                <li><a href="/video.asp">VIDEO</a></li>
            </ul>
        </div>
        
        
        
        <div id="content">
    
              <br>
    
              <h2><strong>I NOSTRI VIDEO</strong><br>
                    Clicca sul corso per scaricare il video<br>
                    <br>
              </h2>
              <br>
              
    
            <table border="0" cellpadding="0" cellspacing="0" width="100%">
             <tr>
      
    
              <td>
    
    
              <script type="text/javascript" src="swfobject.js"></script>
              <script type="text/javascript">
                    var s1 = new SWFObject("mediaplayer.swf","mediaplayer","300","170","7");
                    s1.addParam("allowfullscreen","true");
                    s1.addVariable("width","300");
                    s1.addVariable("height","170");
                    s1.addVariable("file","/public/video/video1.flv");
                    s1.addVariable("image","video1.jpg");
                    s1.write("container");
              </script>
    
              </td>
             </tr>
             
    
            <table border="0" cellpadding="0" cellspacing="0" width="100%">
             <tr>
    
      
    
              <td>
    
    
              <script type="text/javascript" src="swfobject.js"></script>
              <script type="text/javascript">
                    var s1 = new SWFObject("mediaplayer.swf","mediaplayer","300","170","7");
                    s1.addParam("allowfullscreen","true");
                    s1.addVariable("width","300");
                    s1.addVariable("height","170");
                    s1.addVariable("file","/public/video/video2.flv");
                    s1.addVariable("image","video2.jpg");
                    s1.write("container");
              </script>
    
              </td>
             </tr>
             
    
            <table border="0" cellpadding="0" cellspacing="0" width="100%">
    
             <tr>
      
    
              <td>
    
    
              <script type="text/javascript" src="swfobject.js"></script>
              <script type="text/javascript">
                    var s1 = new SWFObject("mediaplayer.swf","mediaplayer","300","170","7");
                    s1.addParam("allowfullscreen","true");
                    s1.addVariable("width","300");
                    s1.addVariable("height","170");
                    s1.addVariable("file","/public/video/video3.flv");
                    s1.addVariable("image","video3.jpg");
                    s1.write("container");
              </script>
    
              </td>
             </tr>
    
             
    
            <table border="0" cellpadding="0" cellspacing="0" width="100%">
             <tr>
      
    
              <td>
    
    
              <script type="text/javascript" src="swfobject.js"></script>
              <script type="text/javascript">
                    var s1 = new SWFObject("mediaplayer.swf","mediaplayer","300","170","7");
                    s1.addParam("allowfullscreen","true");
                    s1.addVariable("width","300");
                    s1.addVariable("height","170");
                    s1.addVariable("file","/public/video/video4.flv");
                    s1.addVariable("image","video4.jpg");
                    s1.write("container");
              </script>
    
              </td>
    
             </tr>
             
    
            </table>
        
        
        </div>
    
    </div>
    

    </div>
    </body>
    </html>Ho anche notato una cosa, ovvero che su firefox mi da la schermata che vi ho postato sopra e invece internet explorer mi dice:
    "
    Impossibile aprire il sito hxxp://vvv......../video.asp
    Operazione terminata.
    "

    Vi confesso che nella mia esperienza, anche se poca, non ho mai visto un errore simile o almeno non mi è mai capitato..

    Eh moh che faccio?
    Confido nella vostra esperienza, magari è una cavolata che non vedo..
    A me guardando il codice sembra tutto ok, infatti mi ha creato ciclicamente le quattro righe (ho infatti 4 file caricati sul DB Access) della tabella, dove "in teoria" dovrebbe esser caricato il player per ognuno dei file *.flv

    Grazie ancora!


  • Super User

    s1.write("container"); questa riga scrive dentro container il codice per il file swf. Non devi usare ovviamente container che è il div che contiene tutto ma un div apposito, che deve essere diverso per ogni video.


  • User

    Miticooooo!!!
    Ho risolto!!!..ecco il codice ASP modificato correttamente:

    <h2><strong>I NOSTRI VIDEO</strong><br>
    Clicca sul corso per scaricare il video<br>
    <br>
    </h2>
    <br>

    <script type="text/javascript" src="swfobject.js"></script>
    <% i = 1 %>

    <!--#include virtual="/conn.asp" -->
    <% Set Rs = Conn.Execute("SELECT nome_file, descrizione FROM video ORDER BY descrizione")
    Do Until Rs.EoF
    Set objFile = CreateObject("Scripting.FileSystemObject")
    path = "/public/video/"&Rs("nome_file")&""
    If objFile.FileExists(Server.MapPath(path)) Then
    Set mia = objFile.GetFile(Server.MapPath(path))
    %>

    <table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tr>

    <td>

    <div id="container<%=i%>"><a href="hxxp://vvv.macromedia.com/go/getflashplayer">Get the Flash Player</a> to see this player.</div>
    <script type="text/javascript">
    var s<%=i%> = new SWFObject("mediaplayer.swf","mediaplayer","300","170","7");
    s<%=i%>.addParam("allowfullscreen","true");
    s<%=i%>.addVariable("width","300");
    s<%=i%>.addVariable("height","170");
    s<%=i%>.addVariable("file","/public/video/<%=mia.name%>");
    s<%=i%>.addVariable("image","video.jpg");
    s<%=i%>.write("container**<%=i%>**");
    </script>
    </td>

    </tr>

    <% End If
    Rs.MoveNext
    i = i+1
    Loop
    Rs.Close : Set Rs = Nothing
    Conn.Close : Set Conn = Nothing
    %>

    </table>

    </div>
    Dovevo generare ciclicamente un "container" nuovo per ogni javascript il ciclo generava per eseguire i filmati presenti sul DB.

    Ok risolto! :vai:

    Grazie infinite! :ciauz:


  • Super User

    Di niente! Alla prossima!


  • User

    😉

    Certo alla prossima!!! :ciauz: