wtetsu / mouse-dictionary

📘Super fast browser dictionary

Home Page:https://mouse-dictionary.netlify.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PDF.js viewer does not launch when I open a locally saved pdf file in chrome's pdf viewer

1taroh opened this issue · comments

日々,お世話になっています.
ローカルに保存した pdf を既に chrome で開いているときに,ビューアを PDF.js viewer に変更できなかったため,報告させていただきました.
なお,オンライン上の pdf の場合には問題なくビューアの変更ができることを確認しています.

お忙しいかと思いますが,お時間のあるときに対応いただけると幸いです.

概要

ローカルに保存した pdf ファイルを閲覧しているときに,右上の拡張機能のボタンを押す.
「このPDF ファイルをダウンロードし,Mouse Dictionary の内部ビューアで表示します.よろしいですか?」
に対し,OK を押す.
画面下部に "failed to fetch" と表示されて,内部ビューアは起動しない.

エラーログ

chrome のデベロッパーツールの「コンソール」より取得.一部改変

<pdfname>.pdf:1 Access to fetch at 'file:///C:/Users/<username>/<pdfname>.pdf' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, isolated-app, chrome-extension, chrome, https, chrome-untrusted.
main.js:53 
        
        
GET file:///C:/Users/<username>/<pdfname>.pdf net::ERR_FAILED
co @ main.js:53
go @ main.js:53
po @ main.js:53
await in po(非同期)
hn @ main.js:53
To @ main.js:53
(匿名) @ main.js:53
(匿名) @ main.js:53
他 7 件のフレームを表示
一部表示

main.js の第53行,第24324列から24344列にかけて,破線が示されていたのでこの辺が怪しそうです
image

環境

  • Windows 11
  • chrome 119.0.6045.106
  • Mouse Dictionary 1.6.5

ご報告ありがとうございます。

結論を言いますと、ローカルのPDFは、PDFビューア(chrome-extension://dnclbikcihnpjohihfcmmldgkjnebgnj/options/pdf/web/viewer.html)で直接開くのが良いです。

ChromeでPDFを開くとURLは「file:///~」のような感じになり、これは完全にローカルのパスなので、これを拡張機能側からfetchすることは恐らくできません。
(エラーメッセージをわかりやすくするとかはできると思いますが)

こんな感じのメッセージを表示することはできます。

image

やはりローカルのpdfに直接アクセスするのは難しそうですか...

エラーメッセージを出していただけると,ローカルpdfを直接読み込めない仕様であることが分かり,非常に良いと思います!

ご対応いただきありがとうございました

v1.6.6で対応