Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Aiuto HTML per realizzare un automatismo

    Ciao! Grazie per l'aiuto!
    Non conosco l'HTML ma cerco di arrangiarmi per fare una cosa semplice senza chiedere a nessuno o mettermi a studiare tutto il linguaggio. Lo so che il codice che uso è obsoleto o quasi inguardabile, ma funziona, ha bisogno solo di un piccolo aggiustamento in una situazione particolare:

    L'obiettivo è quello di cloccare su delle icone di una pagina statica html per trasmettere a OBS il cambio della scena, se queste icone devono solo trasmettere il comando non ci sono problemi:

    codice HTML:
    <div id="e1" class="cc07">
            <a href="#" onclick="setCurrentScene('Davinci-camera1')"> <img src="davinci-camera1.jpg" title="" align="right" border="0" ></a>
            <a href="#" onclick="setCurrentScene('Davinci-camera1')"> <br>Davinci Camera1</a>
        </div>
    se invece utilizzo la stessa forma, nella pagina principale, quella dei mosaici, non va:

    codice HTML:
    <div id="e1" class="cc07">
            <a href="http://192.168.24.2/davinci-mosaico.html" onclick="setCurrentScene('Davinci-mosaico')"> <img src="davinci-mosaico.jpg" title="" align="right" border="0" ></a>
            <a href="http://192.168.24.2/davinci-mosaico.html" onclick="setCurrentScene('Davinci-mosaico')"> <br>Davinci Mosaico</a>
        </div>
    In pratica il browser mi apre la pagina delle camere senza mandar eil comando al OBS, la differenza è che al posto di # ho messo l'indirizzo della sottopagina.
    Come faccio ad aprire la sottopagina ma anche ad inviare il comando?
    Grazie mille!

    PS: come alternativa potrei all'apertura della sottopagina inviare il comando a prescindere, ma come posso inviarlo senza l' "onclick" ?

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,648
    prova così:

    codice:
    <a href="#" onclick="setCurrentScene('Davinci-mosaico'); location.href='http://192.168.24.2/davinci-mosaico.html'"> ...</a>

  3. #3
    Grazie per l'aiuto, ho provato stando attento alla sintassi e ai nomi, si apre il link ma non invia il comando, strano, visto che la funzione onclick contiente entrambi, mi aspetterei che li esegua. Forse il browser cambia pagina talmente rapidamente da non completare l'esecuzione dello script, forse dovrei fare una procedura che aspetti l'esecuzione dello script e poi prosegua con il comando successivo, il cambio pagina. Ha senso?

    Nel frattempo ho tamponato con <body onload="setCurrentScene('Davinci-mosaico');"> nella pagina che si apre

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,648
    si potrebbe provare ad invertire la sequenza: prima location e poi setCurrentScene.

    in ogni caso non mi è chiara una cosa: stai invocando la stessa pagina del pulsante o la pagina "davinci-mosaico.html" è un'altra?

    altra soluzione potrebbe essere cambiare la pagina con una funzione a tempo.

  5. #5
    grazie ancora, è un'altra, proprio per questo penso che l'apertura della nuova pagina renda orfano il comando che invoca lo script per cambiare la scena, troppo veloce
    Ho provato a invertire ma non succede nulla. Bisognerebbe attendere che lo script sia completato per poi cambiare pagina, forse troppo complesso (per me sicuro!), anche dal punto di vista del codice (forse lungo e dovrei replicarlo molte volte)

  6. #6
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,648
    con una funzione a tempo dovresti risolvere.

    un'esempio di base:
    codice:
    <script type="text/javascript">
    
    
    function doRedirect() {
    //Genera il link alla pagina che si desidera raggiungere
    location.href = "http://www.server.com/directory/file.htm";
    }
    
    
    //Questo è il messaggio di attesa di redirect in corso…
    //document.write("Redirect in corso… si prega di attendere qualche istante…");
    
    // invece di "document.write" qui metti la tua funzione setCurrentScene
    
    
    
    
    //Fa partire il redirect dopo 10 secondi da quando l'interprete JavaScript ha rilevato la funzione
    window.setTimeout("doRedirect()", 10000);
    
    
    </script>

  7. #7
    grazie tante ancora!
    Considerando che la soluzione è piuttosto laboriosa (francamente non pensavo che zappasse i processi) e introduce ritardi meglio caricare il comando nel caricamento della pagina successiva

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.