Shadowbox per IFRAME

Gestiamo un sito comunitario per insegnanti che utilizzano il curriculum Bootstrap per insegnare informatica all’interno di lezioni tradizionali di matematica, scienze e studi sociali. Il nostro IDE è basato sul cloud, quindi abbiamo la possibilità di incorporarne un’istanza all’interno di un post su Discourse: è fantastico e siamo già entusiasti di aver migrato sulla piattaforma solo grazie a questa singola funzionalità. :slight_smile:

Tuttavia, abbiamo molto altro contenuto che vorremmo incorporare in questo modo, e alcune parti sono più ampie della larghezza consentita dal post. La personalizzazione del CSS per permettere post più ampi non ha dato frutti e, in definitiva, ciò che vorrei è che gli IFRAME fossero trattati allo stesso modo delle immagini: viene mostrata una miniatura, ma cliccandoci sopra si apre una finestra modale (shadowbox) larga quanto la finestra del browser.

Non ho mai lavorato allo sviluppo di plugin per Discourse, ma potrei anche immaginare un’estensione Onebox che prenda URL corrispondenti a un determinato modello e generi il markup appropriato. Forse esiste un modo più semplice? Sono curioso di sapere se qualcun altro si è trovato ad affrontare questo caso d’uso.

1 Mi Piace

Maybe @Johani would have some ideas. In general heavy embedding of live content is a bad idea, whereas “click-to-load” like codepen does is more ideal:

https://codepen.io/adrianroworth/pen/OpeyZq

7 Mi Piace

Thank you both for the quick reply!

@craigomez, I might be misreading your post, but it sounds like you’re suggesting I modify the source of the page I’m embedding, in order to have links in that page open in a shadowbox. Is that right? If so, let me clarify that I don’t want that – rather, I want the enclosing IFRAME (a node in the rendered topic, which just happens to contain another page) to be in a shadowbox. And if that’s not right, and I misunderstood, my apologies. :slight_smile:

@codinghorror, click-to-load is a mighty fine solution. Happy to pursue that option, if there’s a resource somewhere to follow?

It would be super cool if you could maximize without needing to visit the site, I wonder if this is a feature @chriscoyier would be interested in adding, not sure how it would be wrangled, but it makes sense for this example you made, for sure.

6 Mi Piace

I’d love to make our editor click-to-load. Is there an example somewhere for how this was done with CodePen? I’m assuming whitelisting WeScheme.org in our installation is the least of the steps needed.

check out this previous post/topic for additional context:

Seems like that is done on the codepen side?

Make the preview “Click-to-Load” : Check the checkbox next to “use click-to-load” to enable the preview version for your embedded Pen. Preview embeds show a static image preview of your Pen with a “Run Pen” button. When your visitors click the button, the Pen will load.

via: https://blog.codepen.io/documentation/features/embedded-pens/

2 Mi Piace

This is now possible with a theme component:

6 Mi Piace

Very interesting! I was able to install the theme using the linked directions (thanks!), but I don’t see a UI for editing the theme settings in order to whitelist my site. Any suggestions for where I should be looking? Thanks in advance!

If you’ve installed the theme and cannot see the settings area, then that probably means you’re on a version of Discourse that does not support theme settings.

Even if you’re on the stable branch, the latest release, 2.0, supports theme settings so I would suggest you update Discourse and try again.

3 Mi Piace

Success! Thanks so much, @Johani! And thanks to everyone else who chimed in with suggestions and advice!

4 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.