こんにちは、
外国のURLからPDFをロードしたいときにこのエラーが発生します
エラー:ファイルの出所がビューアの出所と一致しません
新しいエラーをスローします( 'ファイルの出所がビューアと一致しません');
助けてください!
意図的に行われています。#6916を参照してください。 HOSTED_VIEWER_ORIGINSリストにホストのオリジンを含めるようにviewer.jsを変更します。 答えた通りに締めくくります。
ありがとう@yurydelendik
しかし、私はこの答えがどのように私を助けるのか分かりません
しかし、私はこの答えがどのように私を助けるのか分かりません
HOSTED_VIEWER_ORIGINSリストにホストのオリジンを含めるようにviewer.jsを変更します。
やりましたが、リモートpdfファイルの呼び出し方法がわかりません
やりましたが、リモートpdfファイルの呼び出し方法がわかりません
説明してください。 また、次の情報を提供できますか。
私のPDFファイルはcloudinaryにあります。
そして、アクセスをDEFAULT_URL変数に入れると、エラーが発生しました
エラー:ファイルビューアの原点が一致しません
新しいエラーをスローします( 'ファイルビューアのオリジンが\' s 'と一致しません);
私はviewer.jsでこの行にコメントすることを決心します
if(fileOrigin!== ViewerOrigin){
新しいエラーをスローします( 'ファイルの出所がビューアと一致しません');
}
ロジックをコメントアウトしないでください。 console.log()を使用して、fileOriginとviewerOriginが一致するかどうかを確認します。 HOSTED_VIEWER_ORIGINSオブジェクトの少なくとも1つのエントリがviewerOriginと一致し、「_ファイルの起点がviewer_と一致しません」エラーが消えることを確認してください。
これを追加:
console.log('fileOrigin', fileOrigin);
console.log('viewerOrigin', viewerOrigin);
...真上:
if (fileOrigin !== viewerOrigin) {
throw new Error('file origin does not match viewer\'s');
}
私が行ったように、URLの末尾にスラッシュが追加されていない(またはある)ニッケルに賭けます(コンソールがこれらの2つの変数をログに記録したときに発見されました)。
これが誰かを助けることを願っています。
正規表現/ワイルドカードを使用してHOSTED_VIEWER_ORIGINS配列を構成できると便利です。
ハードコードされていないMozillaドメインを許可するには、viewer.jsと呼ばれる10k行のビルドファイルのソースコードを変更する必要がありますか?
@gildassamuelあなたは私の日を救う!
適切な修正は、viewer.jsを開き、ファイルのホストをHOSTED_VIEWER_ORIGINSに追加することです。
var HOSTED_VIEWER_ORIGINS = ['null', '.....'];
チェックコードを削除しないでください:|
ローカルpdfファイルを使用したUWPで同じ問題が発生します(ファイルの出所がビューアの出所と一致しません)。 ローカルパスのHOSTED_VIEWER_ORIGINSに正確に追加する必要があるエントリはどれですか?
アプリ内でこれを使用している他の人のために、ローカルパスが機能するように「file://」を追加する必要がありました。
var HOSTED_VIEWER_ORIGINS = [
'ヌル'、
' http://mozilla.github.io '、
' https://mozilla.github.io '、
'file://' //アプリのローカルビューア
];
私の場合、ローカルでコーディングしていましたが、同じ問題が発生し、ローカルアドレスを追加することで解決しました。
var HOSTED_VIEWER_ORIGINS = [
'null',
'http://mozilla.github.io',
'https://mozilla.github.io',
'http://localhost:5000'
];
ただし、チェックコードは削除しないでください。
if (fileOrigin !== viewerOrigin) {
throw new Error('file origin does not match viewer\'s');
}
これらの2行を追加することは良い解決策になると思います。 ローカルIPは自動的に検出されます(アプリケーションを起動する場所はどこでも)
var LOCAL_AUTO_DETECT_ORIGIN = window.location.origin;
var HOSTED_VIEWER_ORIGINS = ['null', 'http://mozilla.github.io', 'https://mozilla.github.io'];
HOSTED_VIEWER_ORIGINS.push(LOCAL_AUTO_DETECT_ORIGIN);
意図的に行われています。#6916を参照してください。 HOSTED_VIEWER_ORIGINSリストにホストのオリジンを含めるようにviewer.jsを変更します。 答えた通りに締めくくります。
助けて頂きました
それは非常に悪い問題です。
起点 ' http:// localhost 'から ' https://dmain/file.pdf 'でフェッチするためのアクセスがCORSポリシーによってブロックされました: 'Access-Control-Allow-Origin'ヘッダーが要求されたリソースに存在しません。 不透明な応答がニーズに対応する場合は、リクエストのモードを「no-cors」に設定して、CORSを無効にしてリソースをフェッチします。
こんにちは、
これには理由がありますか?
pdfjsではなく、corsポリシーを気にするのはブラウザの責任です
このチェックは削除する必要があると思います。
validateFileURL関数の先頭にreturn;
を追加しましたが、正常に動作するようになりました。Amazons3からPDFを読み込むことができます。
@ IK77が述べたように、この理由を教えてください。
まあ、私はこれを見つけました: https :
@ IK77
最も参考になるコメント
私はviewer.jsでこの行にコメントすることを決心します
if(fileOrigin!== ViewerOrigin){
新しいエラーをスローします( 'ファイルの出所がビューアと一致しません');
}