Anteprime PDF in linea

Ciao,

uso questo componente da un po’ di tempo; oggi ho notato che le anteprime incorporate non vengono più visualizzate nelle pagine.

2.8.0.beta6

Esempio

1 Mi Piace

Per me sembra tutto a posto in tutti i browser desktop:

5 Mi Piace

Ed ecco come appare su iPad-Safari:

4 Mi Piace

Grazie a tutti,

Ho ricontrollato ora: Safari funziona su Mac, Edge funziona, ma Chrome non ha funzionato. Interessante.



4 Mi Piace

Come possiamo fare in modo che Safari su Mac consenta l’uso di questo plugin? Funziona perfettamente per me su altri browser, ma quando provo su Safari lo blocca, anche dopo aver disattivato i blocchi contenuti nella sezione preferenze/siti web. C’è un’altra area dove è necessario disattivare i blocchi? Qualsiasi aiuto è apprezzato.

1 Mi Piace

Non lo so davvero, quindi è solo uno spreco di banda, ma Safari ha dato problemi in passato a causa delle sue regole CSP piuttosto rigide e di altre questioni di sicurezza. Ma allora dovrebbe rompere tutte le versioni di Safari, non solo quelle per Mac, credo.

3 Mi Piace

Funziona per me su Safari per Mac. L’unico posto dove non funziona per me è su un iPhone (Safari, FF e Chrome). Non l’ho testato recentemente su iPad.

3 Mi Piace

Tutti i browser web su iOS/iPadOS utilizzano lo stesso motore di rendering (WebKit) a causa delle restrizioni di Apple, quindi in ogni caso non avrebbe molta importanza.

2 Mi Piace

Ecco cosa vedo sul mio nuovo MacBook Air, Safari v. 14.1.1

Devo avere un’impostazione errata da qualche parte…

3 Mi Piace

Provate ad aggiornare Safari all’ultima versione.

2 Mi Piace

Ho appena pubblicato un nuovo aggiornamento.

Ora è possibile disabilitare l’anteprima per specifici file PDF. Non funziona esattamente come le oneboxes, poiché ciò sarebbe un po’ complicato da implementare in un componente del tema, ma è molto simile.

Quando carichi un file PDF, vedrai di default questo nel compositore.

[file.pdf|attachment](upload://2cLML0SIwebGHDjlKRVzZ3VRv0f.pdf) (524.1 KB)

Tutto quello che devi fare è aggiungere uno spazio prima del nome del file, come mostrato qui:

[ file.pdf|attachment](upload://2cLML0SIwebGHDjlKRVzZ3VRv0f.pdf) (524.1 KB)

Tieni presente che lo spazio deve essere all’interno delle parentesi quadre. Non avrà alcun impatto sul nome del file quando lo scarichi, né influenzerà la descrizione del file visualizzata nel post.

Una volta fatto questo, il PDF non avrà un’anteprima associata nel post renderizzato.

L’aggiornamento aggiunge una nuova impostazione.

Ha due opzioni:

Inline e New Tab

Se selezioni Inline, le anteprime dei PDF verranno visualizzate nel post come prima.

Se selezioni New Tab, il componente non creerà un’anteprima inline. Tuttavia, il link per l’allegato aprirà una nuova scheda. La nuova scheda visualizzerà il file PDF nel lettore nativo del browser.

e l’icona accanto al link dell’allegato cambierà in external-link invece di download.

Il valore predefinito dell’impostazione è Inline, quindi… non influenzerà i siti che avevano già installato questo componente prima dell’aggiornamento. Aggiunge semplicemente una nuova opzione che devi attivare manualmente.

Sono stati segnalati alcuni problemi su Safari e alcuni dispositivi iOS, che non sono riuscito a riprodurre. L’aggiornamento cerca di risolvere il problema caricando il PDF come URL base64 invece che come blob, poiché ho letto che quest’ultimo approccio è molto problematico sui dispositivi Apple.

Si prega di aggiornare il componente e assicurarsi che anche il browser sia aggiornato. Se, per qualche motivo, non funziona su un dispositivo Apple, controlla la console del browser, se possibile, e fammi sapere cosa vedi.

10 Mi Piace

Dopo l’aggiornamento all’ultima versione, 2.8.0.beta6 (a1daf9fe53), le anteprime PDF sembrano caricarsi leggermente più lentamente e, in almeno un caso, una delle tre PDF presenti nel post non viene visualizzata su Chrome:

Non si tratta di un problema di caching: anche dopo aver svuotato la cache di Chrome, salvato il PDF con una lieve modifica e ricaricato, l’anteprima continua a non apparire. Non ci sono voci nel registro degli errori. Chrome è aggiornato all’ultima versione.

Console:

3 Mi Piace

Sto usando la versione 2.8.0.beta6. PC - Windows 10. Osservazione simile. Firefox è un po’ lento, ma l’anteprima alla fine si carica. Chrome non la mostra: sembra bloccarsi su questo segnaposto grigio.

4 Mi Piace

Grazie per i dettagli. Dato che due di quelli si sono caricati correttamente, ho pensato che probabilmente fosse legato alle dimensioni del file… e risulta che è proprio così.

Se carico un PDF di grandi dimensioni, funziona bene in Firefox ma si blocca in Chrome. Ho letto qualcosa a riguardo e sembra che il limite di lunghezza di un URL base64 sia deciso in gran parte dal produttore. Firefox non ha limiti. Chrome li limita a 2 MB.

Quindi, questo significa che un URL base64 non è un’opzione praticabile e dovremmo tornare agli URL blob. Sembra che Safari abbia un supporto migliore se l’elemento di anteprima è un tag <object> invece di un iframe.

Quindi, questa PR riporta tutto agli URL blob e cambia il tag in <object>. Questo risolverà sicuramente il problema per i file di grandi dimensioni su Chrome e, speriamo :crossed_fingers:, risolverà i problemi sui dispositivi Apple.

Aggiorna di nuovo il componente e fammi sapere se hai ancora problemi.

3 Mi Piace

Le dimensioni dei file nel post con 3 PDF sono 548,3 KB, 1,1 MB e 1,6 MB, in quest’ordine dall’alto. Dopo aver aggiornato solo il componente, le anteprime vengono visualizzate, ma non più a larghezza intera in Chrome:

MODIFICA: FF appare come Chrome sopra e Safari non mostra le anteprime, ma riquadri grigi:

3 Mi Piace

Grazie, ho applicato una piccola correzione per il problema delle dimensioni.

UX: adds missing iFrame attributes by hnb-ku · Pull Request #4 · discourse/discourse-pdf-previews · GitHub

Probabilmente non risolverà il problema su Safari, ma per favore provate e fatemi sapere.

3 Mi Piace

Sì, Chrome e FF sono stati risolti; Safari rimane invariato, con solo i riquadri grigi.

3 Mi Piace

Per conferma, Safari funzionava per te prima, vero?

3 Mi Piace

Sì, fino all’ultimo aggiornamento tutti i browser desktop funzionavano correttamente. Non posso dire da quanto tempo Safari fosse funzionante, dato che non è il mio browser principale, ma posso confermare che ha funzionato in passato.

3 Mi Piace

Questo commit dovrebbe risolvere il problema su Safari.

FIX: previews are still broken on MacOS safari by hnb-ku · Pull Request #5 · discourse/discourse-pdf-previews · GitHub

L’ho appena testato su un MacBook e funziona perfettamente per me su Safari, Chrome e Firefox.

Se qualcuno riscontra questo problema

si tratta di un problema nella tua configurazione, non nel componente.

How to unblock a blocked plug-in to displ… - Apple Community

Inoltre, si noti che questo componente non ha mai supportato l’anteprima dei PDF su dispositivi mobili, come definito da Discourse, sia per iOS che per Android. Quindi, questo è il comportamento atteso.

7 Mi Piace