PDFs standardmäßig direkt öffnen (nicht über Download)

Derzeit erfolgt die Kernverarbeitung von PDFs über einen Download:

allaboutcats.pdf|Anhang (42,2 KB)

Obwohl dies sehr funktional ist, fügt es für den häufigsten Anwendungsfall – „Ich möchte das jetzt lesen“ – insbesondere auf mobilen Geräten ein paar unnötige Schritte hinzu.

Die Notwendigkeit, etwas herunterzuladen oder zu speichern, ist sekundär. Manchmal erforderlich, aber normalerweise möchte der Benutzer einfach nur lesen und dann fortfahren.

Der Inline PDF Previews TC löst dieses Problem, indem er auf Desktop-Geräten ein eingebettetes PDF anzeigt – und dies sehr gut. Allerdings berücksichtigt er nicht diese häufigen Situationen:

  1. PDFs auf mobilen Geräten
  2. Mehrere PDFs (aufgrund visueller Überlastung)
  3. Anzeigen von PDFs in einem vollständigen Browser-Tab

Beachten Sie, dass es andere Wege gibt, ein PDF herunterzuladen. Sie können direkt über einen Link heruntergeladen werden (über Rechtsklick / Kontextmenü) oder aus dem browserbasierten PDF-Viewer, den dieser TC bereitstellt.

Vorschlag: PDFs standardmäßig im Browser öffnen

Diese kleine Anpassung löst beide Situationen elegant und greift einfach auf das Standardverhalten anderer Links in Discourse zurück. Mit der vorgeschlagenen Änderung:

  1. Öffnen sich PDF-Links auf Mobilgeräten typischerweise im selben Browserfenster
    • ermöglicht das Anzeigen mit einem einzigen Tippen
  2. Öffnen sich PDF-Links auf Desktop-Geräten (d.h. über dem eingebetteten PDF) in einem neuen Tab
    • ermöglicht das Anzeigen mit einem Klick im vollständigen Tab
  3. Wenn das eingebettete Verhalten absichtlich unterdrückt wird (durch Hinzufügen eines Leerzeichens im Linktext)
    • ermöglicht das Anzeigen mit einem Klick

Ich habe diese Punkte in diesem PR zusammengefasst:

3 „Gefällt mir“

Kann jemand aus eurem Team sich diesen PR mal ansehen, @david?

Ich habe einige Kommentare zum Code selbst im PR hinterlassen.

Wenn ich auf diesen Link klicke, wird das PDF im Browser geöffnet. Kein Download. Sehen Sie etwas anderes?

Ich benutze Chrome auf macOS. Wir verwenden diese d-pdf-previews-Themenkomponente bei Meta nicht.

2 „Gefällt mir“

Hier auf meta.discourse.org öffnet sich mein obiger Link im selben Tab wie diese Seite (genau wie Sie es beschreiben). Dies ändert sich auch in safe-mode nicht.

Auf drei meiner kürzlich aktualisierten Seiten (mit deaktiviertem TC) wird jedoch ein Download versucht. Dies ist auch bei safe-mode der Fall. Ich bin mir nicht sicher, warum das so ist. Ich kann keine Site-Einstellungen finden, die dies steuern.

Was auch immer der Grund ist, mein Fork behebt das Problem für meine Seiten gut!

Das ergibt für mich keinen Sinn!!

1 „Gefällt mir“

Ich werde sehen, ob wir diese Inkonsistenz im Kern beheben können. Ich werde hier über den Fortschritt berichten.

2 „Gefällt mir“

Irgendwelche Fortschritte bisher?

1 „Gefällt mir“

Wir haben eine Arbeit in Bearbeitung. Hoffentlich können wir sie in den nächsten Wochen abschließen. Es ist etwas knifflig, da viele verschiedene Situationen zu überprüfen sind (lokale Uploads, S3, S3-kompatibel, mit CDN, ohne CDN usw.).

4 „Gefällt mir“

Ich habe gerade eine PDF-Datei überprüft, die ich heute in einem Thema auf einer kürzlich aktualisierten Website hochgeladen habe, und wenn ich auf den PDF-Link klicke, wird die PDF-URL im CDN in meinem Browser geöffnet, nur damit Sie es wissen.

2 „Gefällt mir“

Dies sollte seit SECURITY: Download allowlist for uploaded files · discourse/discourse@9c0642a · GitHub behoben sein

Wir haben jetzt eine zentralisierte Logik, um zu bestimmen, welche Dateien „inline“ angezeigt werden sollen. Das bedeutet, dass PDFs konsistent inline angezeigt werden und einige weniger sichere Dateitypen konsistent als Downloads bereitgestellt werden. Diese Änderungen sollten bei allen Arten von Upload-Speichern funktionieren (lokal & S3, mit oder ohne CDNs).

5 „Gefällt mir“

Dieses Thema wurde nach 9 Tagen automatisch geschlossen. Neue Antworten sind nicht mehr zulässig.

David, ich habe das gerade getestet – und während dies auf dem Desktop definitiv behoben zu sein scheint, ist dies auf Mobilgeräten anscheinend nicht der Fall.

Wenn ich auf dem Handy auf einen PDF-Link klicke, erhalte ich einen Download (was ich nicht möchte). Ich möchte, dass es direkt im Browser geöffnet wird (d. h. genauso wie auf dem Desktop), unabhängig davon, ob die TC installiert ist oder nicht.

Können Sie Ihre Einrichtung (S3? CDN?) und das Betriebssystem Ihres Mobilgeräts näher erläutern?

Wenn ich auf das PDF in der ursprünglichen Nachricht hier auf meinem iPhone klicke, scheint es inline korrekt geöffnet zu werden.

1 „Gefällt mir“

Was ist mit mp4-Dateien? Auf den meisten Websites spielen Links zu mp4 diese standardmäßig im Browser ab, aber nicht in Discourse, was ziemlich nervig ist :slight_smile:

Beispiel: https://unicyclist.com/uploads/default/original/3X/4/f/4fb882b8ca5a0b0e3d75ff932506d57325f5582c.mp4

Erwartetes Verhalten: https://d.canapin.dev/uploads/default/original/2X/4/4fb882b8ca5a0b0e3d75ff932506d57325f5582c.mp4

Theoretisch sollte mp4 inline angezeigt werden:

was verwendet:

Wie haben Sie das erreicht? D.h. was ist der Unterschied zu unicyclist.com?

Entschuldigung, ich hätte den Unterschied erwähnen sollen. Letzteres verwendet ein Plugin: Discourse Video Inline

Auf Meta erzwingt Discourse ebenfalls mp4-Downloads: https://d11a6trkgmumsb.cloudfront.net/original/4X/3/f/0/3f09f895d21cf0ae897d90c947abb816830b00a2.mp4

2 „Gefällt mir“

Es hat sich geändert!!! Ich habe heute erneut ein Update durchgeführt, und sie öffnen sich jetzt auf dem Handy problemlos inline.

Haben Sie etwas für uns „einfache Self-Hoster (ohne CDN/S3)“ angepasst? Oder war das nur eine dumme Cache-Sache?

Keine Änderungen seit dem oben verlinkten Sicherheitspatch. Es könnte sich um Caching gehandelt haben, besonders wenn Sie das Upgrade beim ersten Mal über die Benutzeroberfläche durchgeführt haben. Wenn Sie jetzt einen vollständigen Neuaufbau durchgeführt haben, wird dadurch der NGINX-Cache zurückgesetzt. Schön zu hören, dass es jetzt funktioniert!

Ich habe ein neues Thema für das mp4-Problem eröffnet

3 „Gefällt mir“

Dieses Thema wurde nach 3 Tagen automatisch geschlossen. Neue Antworten sind nicht mehr zulässig.