Audio Player - autorefresh
Autore: Alessandro W.
Visite 1170,
Followers 2,
Condiviso 0
Ciao,
impostando come stile "Classico", l'oggetto "Audio Player" visualizza il nome del file mp3 seguito dal titolo specificato nell'oggetto.
Se ora sostituisco il file mp3, aggiorno il titolo e pubblico la pagina, l'oggetto Audio Player visualizza il nome del precedente file mp3, seguito dal nuovo titolo. Non è sufficiente fare il refresh della pagina (F5) per vedere il nome del nuovo file mp3, ma è necessario cancellare le informazioni sul sito salvate in automatico dal browser.
Esiste un modo per far caricare automaticamente dall'oggetto "Audio Player" il nome del file mp3 attualmente impostato?
Ale
Postato il
Ciao Alessandro!
la sola soluzione che mi viene in questo modo è prevenire il browser cache. In genere per evitare questi problemi si mette del PHP o comunque del codice alla fine dell'URL per farlo ricaricare
es:
https://gebher.com/index.php?1234
Potresti vedere ad esempio se aprendo la tua pagina con ?numero ti carica senza eliminare nulla manualmente.
Autore
Ciao Gabriele,
grazie per la risposta tempestiva. Proverò il tuo suggerimento appena aggiorno il contenuto (ritmo settimanale). Per il momento, un workaround funzionante è sostituire l'oggetto Audio Player con uno nuovo, purtroppo ogni volta completamente da reconfigurare.
Ale
Figurati!
Io lo uso spesso per forzare l'aggiornamento di qualche file necessario come ad esempio quello per il controllo cookie, ma anche in situazioni più disparate come la pagina di manutenzione etc.
Solo non saprei se è meglio con del JS o PHP, e se conviene agire sulla pagina (./nomepagina.php?1234) o sul singolo file (./audio.mp3?1234).
Volendo potresti anche provare via .htaccess per la cache, ma non credo sia una buona idea per tutto il sito.
OT: Scusami Ale l'intrusione ti ho lasciato un messaggio in posta Meta, grazie ciao.
... si potrebbe tentare con un mio semplice controllo EXTRA valido per diversi casi, già presente tra alcuni dei miei post cercando nel Forum...
... essendo identitario, e se ti interessa provarlo, devi postare il tuo LINK per poter verificare, altrimenti ignorare questo Post e come non detto...
.
... si potrebbe tentare con un mio semplice controllo EXTRA valido per diversi casi, già presente tra alcuni dei miei post cercando nel Forum...
... essendo identitario, e se ti interessa provarlo, devi postare il tuo LINK per poter verificare, altrimenti ignorare questo Post e come non detto...
.
Autore
Ciao Kol,
il link del sito è http://insidecommunications.de/index.html Si tratta di un podcast nel quale ogni settimana viene pubblicata una nuova puntata. Ogni puntata ha una sua pagina con Audio Player che rimane invariata. Il contenuto dell'Audio Player sulla home page invece cambia ogni settimana.
Ale
... OK ...vedo un solo MP3 richiamato da JS <script>...
... se non cambia nome ID oggetto, potresti risolvere con questo mio codice:
<!-- controllo anti-cache x JS || by KolAsim -->
<script src="pluginAppObj/pluginAppObj_68/main.js" onload="this.onload=this.src=this.src+'?'+new Date().getTime()//K"></script>
... copiare ed incollare il codice nelle Proprietà della Pagina HOME, esattamente in questa sezione:
>> Passo 3 - Mappa > Finestra 'Proprietà Pagina' > Le opzioni della Sezione Esperto | ▪Codice personalizzato: > 3^opzione > Prima della chiusura del tag HEAD
....................................
... puoi fai rapide prove cambiando spesso il file mp3 in una semplice pagina di prova online, correggendo il riferimento del JS al relativo oggetto, che in questo caso è: pluginAppObj_68
... se fai le prove, posta il LINK per verificare l'esecuzione del mio codice...
.
.
ciao
.
Autore
Ciao Kol,
ho copiato il tuo codice nella posizione indicata, caricato un nuovo file mp3 nell'Audio Player e aggiornato il sito. Però caricando o aggiornando la pagina web con F5, l'Audio Player continua a riproporre e riprodurre il vecchio file mp3.
Questo nonostante il file main.js sul web server contenga il corretto link al nuovo mp3:
{src: "pluginAppObj/pluginAppObj_68/IC-1-Slogan,-Claim-und-Co.---die-Zaubersprueche-der-Unternehmenskommunikation.mp3", description: "IC#1 Slogan, Claim und Co. - die Zaubersprueche der Unternehmenskommunikation", id: "1", duration: "0"}
Ale
Alessandro, giusto per test, se la pagina viene caricata con ?code=123 il problema persiste?
Come nel mio precedente commento.
Autore
Ciao Gabriele,
attualmente ho sostituito la puntata #22 con la #1.
Il file main.js punta correttamente sulla puntata #1.
Aprendo la pagina con il link http://insidecommunications.de/index.html?code=123 viene sempre visualizzata la puntata #22.
Ale
Autore
PS: Come scrivevo sopra, per fare caricare la puntata #1 devo svuotare la cache.
Autore
Purtroppo mi tocca rimettere la #22, altrimenti il cliente mi strozza ...
A parte quello indicato da KolAsim puoi provare con questi (Rif.to https://stackoverflow.com/questions/8155064/how-to-programmatically-empty-browser-cache):
<metahttp-equiv='cache-control'content='no-cache'>
<metahttp-equiv='expires'content='0'>
<metahttp-equiv='pragma'content='no-cache'>
Quando io ho del JS o comunque dei file che vengono aggiornati tendenzialmente uso una struttura simile come quella citata:
<script src="myfile.js?version=1.0.0"></script>
Ma già lo stesso WebSite X5 ha (o dovrebbe) avere una funzione integrata. Ovviamente se vengono aggiornati spesso metto del PHP per fare come echo la versione.
L'ultimo test potresti farlo sul file .htaccess con mod_expires andando a inserire delle stringe Cache-Control/Expires/max-age.
Non mi viene in mente altro da poter consigliare.
Autore
Grazie per le info, Gabriele. Svuotare in automatico la cache del browser però è molto invadente. Ci sono navigatori che ci tengono alle loro informazioni. : )
Ho notato ora che lo script di KolAsim funziona se il sito viene aperto ex novo ed è questa l'apertura standard, non l'aggiornamento con F5. Quindi per il momento lascio quello script e vedo come si comporta il sito al prossimo aggiornamento settimana prossima.
Grazie di cuore a tutti!
Ale
Certamente, il mio era una soluzione di "riparo" essendo che non riuscivi con il codice di KolAsim, ma sono felice che funzioni. Buon lavoro!
Autore
Ora, passata la settimana è caricata la nuova puntata del podcast, pur con lo script di KolAsim caricata nel tag HEAD della pagina, l'Audio Player continua a non aggiornare il contenuto testuale dello span class="span_titolo div_marquee_animation".
<div class="container_title_song title_song marquee">
<div class="div_marquee">
<span class="span_titolo div_marquee_animation">IC#22 Guerilla-Marketing – unerwartet, lokal, auf den Punkt. Strategie Ueberraschung</span>
</div>
</div>
La pagina continua a visualizzare "IC#22 ..." nonostante l'Audio Player riporti il titolo "IC#23 ...".
Ale
Autore
Aggiungo che la dicitura errata "IC#22 Guerilla-Marketing – unerwartet, lokal, auf den Punkt. Strategie Ueberraschung" non deriva dal titolo specificato nell'Audio Player, ma riporta il nome del file mp3 caricato precedentemente nel Player.
Tale dicitura inoltre non è contenuta né nel file main.js né nel file index.html.
Ale
se non funziona... riapri il post, togliendo il "corretto"...
Sì, l'utente normale non può replicare quando un post è segnalato come Corretto / Risolto.
Autore
Aggiungo che la dicitura errata "IC#22 Guerilla-Marketing – unerwartet, lokal, auf den Punkt. Strategie Ueberraschung" si trova nella cache del browser all'interno di un file che inizia con "function audioplayer_pluginAppObj_68() {".
Nella medesima cache esiste un altro file con la dicitura corretta "IC#23 ..." e che inizia sempre con "function audioplayer_pluginAppObj_68() {".
Cancellando dalla cache il file contenente la dicitura errata "IC#22 ..." e aggiornando il browser, l'Audio Player visualizza la dicitura corretta.
Ale
... io vedo questa descrizione:
IC#23 Krisenkommunikation - wenn's richtig brenzlig wirdKrisenkommunikation - wenn's richtig brenzlig wird
... e sento questo brano:
http://insidecommunications.de/pluginAppObj/pluginAppObj_68/IC-23-Krisenkommunikation---wenn-s-richtig-brenzlig-wird.mp3
..................................
... relativamente al suono, visto che il brano è sul tuo server/sito, forse potresti usare il normale oggetto Video/Suono, oppure il normale tag <audio>, più facili, veloci e flessibili da configurare ed aggiornare...
.
ciao
.
Autore
Ciao Kol,
vedi e senti ciò che è salvato nella tua cache. Non essendoci informazioni precedenti nella tua cache, il browser carica i dati corretti. Se non svuoti la tua cache, settimana prossima continuerai a vedere "IC#23" nonostante io abbia già aggiornato il sito al file audio "IC#24".
Speravo di far funzionare l'oggetto WebSiteX5 per la sua presentazione grafica. Ovviamente, se non c'è altra soluzione posso anche utilizzare una soluzione basata sull'audio tag.
Ale
... tanto per poter capire, sento quel file IC-23 e cercando di mettere IC-24 al posto di IC-23, non avviene niente il cambiamento del suono e neanche del file...
... non mi è mai capitato un caso simile...
... per poter valutare si dovrebbe provare con sostituzioni frequenti...
... come mia idea per semplificare, si potrebbe usare il video/suono o il tag audio con file audio sempre con lo stesso nome, e per la descrizione usare un TXT in iframe, e file audio e contenuto iframe inviati in rete con FTP terzo, senza toccare il programma...
ciao
.
Autore
Ciao Kol,
nel frattempo il sito è stato aggiornato due volte. La puntata attuale è la #25.
Il file main.js contiene le informazioni corrette della puntata #25:
x5engine.boot.push(function(){
Album = {
show_track_number: false ,
autoplay: false ,
loop: false ,
song: [
{src: "pluginAppObj/pluginAppObj_68/IC-25-Wie-ueber-Krieg-berichten---Die-Macht-der-Bilder-und-ethische-Grenzen-im-Journalismus.mp3", description: "IC#25 Wie ueber Krieg berichten - Die Macht der Bilder und ethische Grenzen im Journalismus", id: "1", duration: "0"}
Come da opening thread, l'oggetto Audio Player visualizza il nome del file mp3 della precedente puntata #24, seguito dal titolo dell'attuale puntata #25.
Come già scritto in precedenza, ho trovato le informazioni sulla precedente puntata solo in un cookie locale. Deduco quindi che l'Audio Player, in parte, ripropone informazioni contenuti nel cookie invece di quelle contenute nel file main.js.
Infatti, cancellando i cookies il problema si risolve, soluzione però poco professionale e assolutamente non proponibile ai clienti ("Gentile cliente, per vedere correttamente il contenuto di questa pagina è necessario prima eliminare i relativi cookies e poi aggiornare la pagina.").
Serve quindi un'altra soluzione.
È possibile influire manualmente sul nome interno dell'oggetto "pluginAppObj_68"? Se creo ex novo l'oggetto, esso purtroppo ha sempre il nome "pluginAppObj_68".
È possibile avere una risposta da parte del programmatore dell'oggetto Audio Player?
Ale
Ciao Alessandro,
colgo l'occasione per rispondere in un attimo di pausa.
Di base tutti gli oggetti di WebSite X5 si possono creare modificandoli da zero. Ti basta estrapolare i codici, comprendere il funzionamento e inserire il tutto in un oggetto HTML o altra parte.
Banalmente puoi sostituire il nome, mettendone uno di preferenza, che ovviamente non crei conflitto con gli altri oggetti. Di contro poi sei costretto a usare sempre codici avanzati per la gestione, e chiedono molta attenzione.
Non sono entrato nel problema specifico, ma eventualmente non puoi impostare una scadenza per il cookie in attesa di un feedback da parte di Incomedia.
Nel caso se lo duplichi nella stessa pagina, facendo copia e incolla? In tale circostanza dovrebbe variare il nome.
Autore
Ecco, Gabriele, questo tuo suggerimento della copia mi ha illuminato. : )
Avevo già fatto la copia dell'oggetto e aggiornato il sito con successo (vedi mio post del 25.10.2022), all'epoca però senza rendermi conto dell'effetto colaterale della rinomina dovuto alla copia.
Da quella volta, infatti, invece di copiarlo, eliminavo il vecchio oggetto prima di creare quello nuovo, operazione che lasciava invariato il nome rendendo il workaround non più funzionante.
Ora il workaround è tornato a funzionare, basta ricordarmi settimana prossima.
Grazie di cuore. : )
Ale
... ciao Ale, ..prima di passare ad altri miei codici, fammi sapere su questo che mi pare regolare:
... adesso io vedo IC#25 nella descrizione ed ascolto il relativo brano, questo:
http://insidecommunications.de/pluginAppObj/pluginAppObj_68/IC-25-Wie-ueber-Krieg-berichten---Die-Macht-der-Bilder-und-ethische-Grenzen-im-Journalismus.mp3
... intanto controlla anche di non aver per caso appllicato o aver in uso la CACHE lato SERVER...
.
ciao
.
Figurati! Se duplichi l'oggetto nella stessa pagina il programma è costretto a ricreare una cartella e ID dedicato, altrimenti crea conflitti con l'altro. Spero possa funzionare a lungo termine.
Saluti!
Autore
@Kol, verso le ore 14:00 ho aggiornato il sito. L'oggetto Audio Player ora ha il nome "pluginAppObj_69".
@Gabriele - Dovrebbe funzionare. Fallirà solo se WebSiteX5 dovesse attribuire a un nuovo oggetto un nome già utilizzato in passato. Affronterò la situazione settimana prossima. : )
Il bug dell'Audio Player descritto nell'opening thread comunque pare facilmente riproducibile. Basta impostare lo stile "classico", pubblicare un mp3, poi sostituire nello stesso Audio Player il mp3 con un altro mp3, cambiare il titolo e aggiornare il sito. Facendo così, dovrebbe apparire il nome del vecchio mp3 seguito dal nuovo titolo.
Per il programmatore di WebSiteX5 faccio notare che pur avendo cancellato un oggetto Audio Payer dal progetto (nello specifico caso l'oggetto "pluginAppObj_68"), il successivo upload del sito ha nuovamente caricato il mp3 di tale inesistente oggetto.
Ale
... il mio precedente Post è delle 14:20, ... e ricontrollando adesso rimane quanto rilevato, quindi penso OK...
ciao
.
... visto che devi sempre manipolare il Progetto per aggiornare il suono, e che NON usi la Play List di brani, secondo me in alternativa e senza JS,potresti risolvere semplicemente con l'Oggetto Video/Suono normale, mantenendo una struttura molto simile a quella che hai in uso adesso, più flessibile e facile da aggiornare...
... praticamente con un oggetto testo (o immagine) per le immagini, che prenda una o due celle in verticale, e nelle celle delle due righe affiancate, nella prima superiore un testo rollover per la descrizione animata, e in quella inferiore un oggetto Video/Suono...
... per curiosità potresti provarci e magari potrebbe soddisfarti...
.
... !...
...altra idea che mi viene in mente, già realizzata qui per un paio di radio, ... sarebbe quella di creare semplici pagine individuali nascoste per ogni giorno differente per file audio e descrizione, ed alla maturazione della data prevista far vedere la relativa pagina del suono in mini banner in iframe...
... per fartene una idea della mia idea, la vedi applicata in questo sito (di Massimo F.), dove con il mio codice in ogni giorno della settimana si apre automaticamente la pagina con la scaletta giornaliera dedicata: https://www.radiostellapiemonte.net/index.html
.
... altra idea, immediata, sarebbe quella di mettere l'oggetto che usi adesso PlayList in una pagina nascosta e con opzione senza applicare la grafica, che aggiornerai facilmente quando serva...
... ecco, questa pagina si importerà automaticamente nella home con un semplicissimo iframe...
... normalmente il contenuto dell'iframe by-passa la cache...
... quindi useresti lo stesso oggetto; ... per me semplice e sicuramente da provare...
.
Autore
Ciao Kol,
grazie per la tua risposta. Come già scritto sopra, confermo che posso utilizzare il tag audio. Posso anche creare un JPlayer a misura ex novo. Non per forza devo utilizzare l'oggetto Audio Player. E lo farei pure se non ci fosse un workaround riguardo il bug descritto nell'opening thread.
Il bug che le informazioni dell'Audio Player vengono, in parte, prese dal cookie invece del file main.js, viene bypassato tramite la sostituzione dell'Audio Player come descritto il 25.10.2022.
Quindi ho risolto il disagio creato dall'oggetto Audio Player ai visitatori del sito. Ovviamente, mi aspetto che il bug nell'oggetto Audio Player, prima o poi, venga risolto.
La tua ultima considerazione è corretta. Infatti, per ogni puntata del podcast ho creato una pagina individuale. Su queste pagine il bug dell'Audio Player non si manifesta perché i mp3 non vengono sostituiti/aggiornati ma rimangono i medesimi nel tempo. Poi, per una questione di semplicità, preferisco sostituire il player sulla home page piuttosto che utilizzare gli iframe.
Ale
... ok ... ciao