Se posto un URL di Bandcamp su un forum di discourse, viene visualizzato il loro player incorporato. Come posso ottenere questo risultato con il mio sito di musica?
Ho provato a impostare i tag og:video senza successo.
Grazie!
Se posto un URL di Bandcamp su un forum di discourse, viene visualizzato il loro player incorporato. Come posso ottenere questo risultato con il mio sito di musica?
Ho provato a impostare i tag og:video senza successo.
Grazie!
Intendi nel tuo sito che non è discourse?
Puoi cercare nel codice sorgente di discourse e cercare “onebox” o forse “one_box”
Oppure potresti vedere https://get.bandcamp.help/hc/en-us/articles/360013561254-How-do-I-create-a-Bandcamp-embedded-player-#:~:text=To%20create%20an%20embedded%20player,your%20merchandise%2C%20and%20so%20on. e usarlo per sviluppare codice per il tuo sito.
Ciao Jay,
Ho un sito web, un po’ simile a Bandcamp. Ho creato degli embed simili al link che hai incollato, così puoi aggiungere un iframe a un altro sito web e il mio embed apparirà.
Ma quello di cui sto parlando è una specie di magia che sembra accadere quando semplicemente si incolla un URL di Bandcamp, appare un iframe embed completo. È qualcosa configurato sul server di Discourse?
Vediamo se funziona qui. Incollerò un URL di Bandcamp qui sotto.
Sì ^ come puoi vedere è apparso un lettore musicale incorporato funzionante. Non ho incollato alcun iframe o js, solo l’URL di embed che ho citato sopra.
È qualcosa di speciale che Discourse sa fare per siti specifici o ci sono dei tag header magici che puoi impostare per dirgli quale URL di embed usare.
Come ha sottolineato Jay, dovresti guardare il codice sorgente.
‘Onebox’ è la libreria che, in parte, converte alcuni URL in embed.
Hai guardato?:
Penso che l’intenzione originale fosse che questo codice venisse utilizzato anche su siti non-Discourse.
A tal fine, c’è una gemma (ora non mantenuta) che potresti essere in grado di sfruttare (supponendo che il tuo sito sia RoR), forse saresti interessato a mantenerla?
Una parola di avvertimento: il codice su Discourse si sarà evoluto positivamente da allora.
Ciao Robert,
Grazie per avermi recuperato queste informazioni. Quindi sì, c’è codice specifico per questo in Discourse. Non è qualcosa che devo fare sul mio sito in sé. Questo risponde a quella parte. Quindi, se voglio che il mio sito sia supportato allo stesso modo di Bandcamp su Discourse (e potenzialmente altri forum), dovrò chiedere o contribuire con il codice per farlo funzionare anche per il mio.
Ho anche una seconda domanda. Oltre a incollare l’URL, ho anche tentato di aggiungere l’embed con il tag iframe. Questo funziona bene su un sito web normale, ma farlo sul mio forum Discourse non funziona. È apparsa una casella quadrata ma non l’embed all’interno. Presumo fosse un problema di permessi, quindi ho aggiunto il mio host agli iframe consentiti ma non funziona ancora.
–
OK, proprio mentre stavo per fare uno screenshot per mostrare che non funzionava, sembra che abbia iniziato a funzionare! Quindi mi chiedo se ci sia una sorta di ritardo nel sistema per l’applicazione degli host consentiti.
Esplorerò ulteriormente. Grazie per il tuo aiuto finora.
Ok, ho appena capito cosa sta succedendo. Quando si modificano le impostazioni di allow iframe, non hanno effetto sui post esistenti (almeno non immediatamente). È possibile che lo facciano più tardi… non sono sicuro.
Ma, quando crei un nuovo post o modifichi un post esistente, le impostazioni hanno effetto allora.
Quindi ora sia il mio embed che l’URL funzionano, il che significa che dovrò solo contattare i forum pertinenti e chiedere loro di aggiungere il mio nome di dominio agli host consentiti e dovrebbe funzionare da quel momento in poi.
Saluti.
Ciao
![]()
I post più vecchi devono essere ricotti. Puoi farlo manualmente facendo clic sull’icona dei tre punti sotto il post, quindi sulla chiave inglese, quindi su Ricuoci HTML.

Se hai molti post che necessitano di essere ricotti, potresti aver bisogno del rake task per ricuocere tutti i post o utilizzare uno script rails personalizzato per ricuocere solo alcuni di essi utilizzando i criteri necessari.
Qualcosa del genere, credo:
Post.where('raw LIKE ?', 'un URL specifico').find_each do |p|
p.rebake!
end