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:
PDFs auf mobilen Geräten
Mehrere PDFs (aufgrund visueller Überlastung)
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:
Öffnen sich PDF-Links auf Mobilgeräten typischerweise im selben Browserfenster
ermöglicht das Anzeigen mit einem einzigen Tippen
Ö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
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:
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!
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.).
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.
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).
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.
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
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