― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

新しいトピックを投稿する トピックへ返信する  [ 6 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2015年8月17日(月) 14:28 
PDFファイルがブラウザ内でプレビューされず困っています。

ファイルへのリンクには、サーバー側でリダイレクトされる形ものがあると思うのですが、その場合、URLの最後が拡張子ではない場合があります。

結果的には、PDFファイルがこちらに渡されるのですが、Firefoxから見たらURLがPDFのリンクだと判断されないからだと思うのですが、処理を尋ねるウインドウが表示されてしまいます。

これをどうにか、何も確認のウインドウを表示せず、すんなりプレビューする様に出来ないでしょうか。

■ 参考リンク

プレビュー出来ないページ (lib-utsunomiya.jp)
http://www.lib-utsunomiya.jp/?page_id=139

プレビュー出来るページ (chikyumura.org)
http://www.chikyumura.org/environmental ... oklet.html

_________________
Mozilla/5.0 (Windows NT 6.1; rv:39.0) Gecko/20100101 Firefox/39.0


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2015年8月18日(火) 03:21 
オフライン

登録日時: 2008年5月26日(月) 01:41
記事: 1345
お住まい: 冥府
ファイルのダウンロード(保存)に為るので、単純にサーバーのファイルタイプの設定ミスと思います。

_________________

*Windows 10 21H1 64bit/*GoogleJapaneseInput:ATOK2017:MS-IME
Firefox 95.0:Beta 96:Developer Edition 96:Nightly 97.0a1:
Thunderbird 91.4.0:Earlybird 96:Daily 97.0a1:SeaMonkey 2.53.10/2.58a1:
Opera 82.0.4227.23:Google Chrome 96.0.4664.93/98.0.4756.0(Official Build)canary:
SRWare Iron 96.0.4900.0:Lunascape 6.15.2:Avant Ultimate 2020 build 3, 3.17.2020
Mozilla/5.0 (Windows NT 6.0; rv:43.0) Gecko/20100101 Firefox/43.0

通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2015年8月18日(火) 06:31 
オフライン
Moderator

登録日時: 2011年4月06日(水) 10:16
記事: 1905
お住まい: Tokyo
aides さんが書きました:
ファイルのダウンロード(保存)に為るので、単純にサーバーのファイルタイプの設定ミスと思います。

「申請書ダウンロード」のためのページですので、ミスではないのでは?

_________________
[Desktop] Windows 10 pro (64bit) / 16GB RAM
Mozilla/5.0 (Windows NT 6.1; rv:40.0) Gecko/20100101 Firefox/40.0

通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2015年8月18日(火) 08:23 
横から失礼します。
専門的な知識は持っていないエンドユーザーですが、これまでの使用経験の中で知り得たことから、気がついた点をコメントさせていただきます。

まず前提として、Web 上では、データの集合体であるファイルの形式や性質を識別するために MIME Type (Content-Type) が利用されます。拡張子が html や htm のファイルの MIME Type は text/html です。同様に、JavaScript が書かれたファイルの拡張子は js で、MIME Type は text/javascript 、PDF ファイルの拡張子は pdf で、MIME Type は application/pdf です。

KN85 さんが書きました:
プレビュー出来ないページ (lib-utsunomiya.jp)
http://www.lib-utsunomiya.jp/?page_id=139

このページ内にあるリンク、例えば「登録申込書(利用カードの申込み)」をクリックしたときの HTTP ヘッダを見ると、サーバーから返されてきたレスポンスには、次の行があります。
Content-Disposition: attachment; filename="tourokumo.pdf"

この指定があると、ブラウザはダウンロードダイアログを開いて、その後の動作をユーザーに判断させるようになります。filename は、保存するファイル名を規定しています。
つまり、サーバー側で強制的にダウンロードの動作が指定されていて、Firefox はその内容に素直に従っているだけ、ということになります。
ブラウザ内で表示できないのは、サイトの仕様による、というのが妥当でしょう。

KN85 さんが書きました:
ファイルへのリンクには、サーバー側でリダイレクトされる形ものがあると思うのですが、その場合、URLの最後が拡張子ではない場合があります。

結果的には、PDFファイルがこちらに渡されるのですが、Firefoxから見たらURLがPDFのリンクだと判断されないからだと思うのですが、処理を尋ねるウインドウが表示されてしまいます。

これについては、上記のサイトは PHP で動的にコントロールされているようですが、リンク先の PDF ファイルの性質は適正に返されているように思えます。
つまり上述したように、Web 上では拡張子ではなく MIME Type (Content-Type) でファイルの性質が判断されますが、このサイトでは
Content-Type: application/pdf
のレスポンス行がありますので、PDF ファイルに対して適正な MIME Type となっています。
実際、当方の環境(Windows 8 + Firefox 40.0)ではダウンロードは問題なくできていますし、[プログラムで開く] を選択・実行したときは、指定したプログラムで正常に開くことができました。つまり、そのファイルが何者かは、正しく判断できています。

ただ、[今後この種類のファイルは同様に処理する] にチェックを付けて実行しても、次にこのサイトの PDF ファイルのリンクをクリックすると、ダイアログが開いて動作の選択が迫られるのは、サーバーからのレスポンスに必ず Content-Disposition: attachment が付いているからでしょう。

一方、
KN85 さんが書きました:
プレビュー出来るページ (chikyumura.org)
http://www.chikyumura.org/environmental ... oklet.html

こちらのほうは、URL を見れば一目瞭然ですが、実際のファイル名が含まれています。
レスポンスヘッダには Content-Disposition: attachment の指定がないので強制的なダウンロードにはならず、サーバーから送られてきた Content-Type: application/pdf に従って、ブラウザ側で指定されている動作が実行されます。
つまり、Firefox 内蔵の PDF ビューアなり、プラグインを使ったブラウザ内表示なり、Firefox 内で指定されている動作が実行されます。

結局のところ、
PDF ファイルへのリンクを持つ2つのサイトに関して、それぞれ仕様が異なり、どちらもその仕様の範囲内で異常はなさそうです。Firefox の動作は、どちらのサイトの仕様に対しても、正常な動作であるように思えます。

しかし、そのこととユーザーのニーズが必ずしも一致するわけではないので、"~する様に出来ないか" と思われることはあろうかと思います。

KN85 さんが書きました:
これをどうにか、何も確認のウインドウを表示せず、すんなりプレビューする様に出来ないでしょうか。

これはつまり、サーバーからの Content-Disposition: attachment の指示を無視して inline で処理するような動作を優先させるといいますか、正常な HTTP リクエストとレスポンスに対し、ユーザーの希望する動作になるよう強制的な介入をおこなう、という話になるかと思います。

Google Chrome には、それを実現できる拡張機能(Extensions)があり、ご提示の「プレビュー出来ないページ」のようなサイトにある PDF もブラウザ内でビューできるようになります。
(参考)・ChromeでPDFファイルなどをダウンロードさせない方法
http://blog.nambo.jp/2014/12/01/chrome-pdf-inline/

ということは、同じような方法をとれば Firefox でもできなくはなさそうですが、ぼくのスキルでは具体的なやり方まではわかりません。あるいは、すでにそういうアドオンがどこかにあるのかもしれませんが......。

ストレートな解決策ではありませんが、とりあえず以上です。
不正確なことや間違ったことを書いていたら、遠慮なく補足・訂正のツッコミを入れてください。

_________________
Mozilla/5.0 (Windows NT 6.2; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2015年8月18日(火) 13:58 
皆さん、ありがとうございます。大変参考になりました。

偶然的通行人 さんが書きました:
ただ、[今後この種類のファイルは同様に処理する] にチェックを付けて実行しても、次にこのサイトの PDF ファイルのリンクをクリックすると、ダイアログが開いて動作の選択が迫られるのは、サーバーからのレスポンスに必ず Content-Disposition: attachment が付いているからでしょう。

ありがとうございます。大変詳細かつ解り易かったです。

拡張子の有無の問題ではなく、「Content-Disposition: attachment」の有無の問題だったのですね。勘違いしておりました。すみません。

他の主要なブラウザではすんなりプレビュー出来たので、Fiefoxの問題かと思ったのですが、Firefoxの動作の方が正しかったのですね。

よく分かりました。ありがとうございました。


皆さん、本当にありがとうございました。

_________________
Mozilla/5.0 (Windows NT 6.1; rv:40.0) Gecko/20100101 Firefox/40.0


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2015年8月18日(火) 17:12 
「Always Preview」というアドオンを使うことで解決出来ました。
皆さん、本当にありがとうございました。

_________________
Mozilla/5.0 (Windows NT 6.1; rv:40.0) Gecko/20100101 Firefox/40.0


通報する
ページトップ
  
引用付きで返信する  
期間内表示:  ソート  
新しいトピックを投稿する トピックへ返信する  [ 6 件の記事 ] 

All times are UTC + 9 hours


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[29人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean