Hallo,
Ich habe diesen Fehler, wenn ich ein PDF von einer fremden URL laden möchte
Fehler: Dateiursprung stimmt nicht mit dem des Betrachters überein
throw new Error('Dateiursprung stimmt nicht mit dem des Betrachters überein');
bitte helft!
Es ist absichtlich gemacht, siehe #6916. Ändern Sie viewer.js, um die Herkunft Ihres Hosts in die Liste HOSTED_VIEWER_ORIGINS aufzunehmen. Schließen wie beantwortet.
Danke @yurydelendik
Aber ich weiß nicht, wie mir diese Antwort hilft
Aber ich weiß nicht, wie mir diese Antwort hilft
Ändern Sie viewer.js, um die Herkunft Ihres Hosts in die Liste HOSTED_VIEWER_ORIGINS aufzunehmen.
Ich habe es getan, aber ich weiß nicht, wie ich meine Remote-PDF-Datei aufrufen soll
Ich habe es getan, aber ich weiß nicht, wie ich meine Remote-PDF-Datei aufrufen soll
Bitte erkläre. Können Sie auch folgende Angaben machen:
Meine PDF-Datei ist auf Cloudinary.
Und wenn ich den Zugriff in die Variable DEFAULT_URL eintrage, bekomme ich einen Fehler
Fehler: Ursprung des Dateibetrachters stimmt nicht überein
throw new Error ( 'Datei-Viewer-Ursprung stimmt nicht mit \'s überein');
Beispiel meiner URL-PDF http://res.cloudinary.com/image/upload/v1459791656/my_file.pdf
Ich beschließe, diese Zeilen in viewer.js zu kommentieren
if (fileOrigin !== viewerOrigin) {
throw new Error('Dateiursprung stimmt nicht mit dem des Betrachters überein');
}
Kommentieren Sie die Logik nicht aus. Verwenden Sie console.log(), um zu sehen, ob Ihr fileOrigin und viewerOrigin übereinstimmen. Stellen Sie sicher, dass mindestens ein Eintrag in Ihrem HOSTED_VIEWER_ORIGINS-Objekt mit dem viewerOrigin übereinstimmt und der Fehler "_Dateiursprung entspricht nicht viewer_" verschwindet.
Füge das hinzu:
console.log('fileOrigin', fileOrigin);
console.log('viewerOrigin', viewerOrigin);
... direkt darüber:
if (fileOrigin !== viewerOrigin) {
throw new Error('file origin does not match viewer\'s');
}
Ich würde wetten, dass Sie einen zusätzlichen Schrägstrich am Ende Ihrer URL vermissen (oder haben), wie ich es getan habe (entdeckt, als diese beiden Variablen in der Konsole protokolliert wurden).
Hoffe das hilft jemandem.
Es wäre schön, das Array HOSTED_VIEWER_ORIGINS mit Regex/Wildchars konfigurieren zu können.
Um nicht hartcodierte Mozilla-Domains zuzulassen, muss ich den Quellcode einer 10k-Zeilen-Build-Datei namens viewer.js ändern?
@gildassamuel du
Die richtige Lösung ist "viewer.js" öffnen und den Host Ihrer Datei an HOSTED_VIEWER_ORIGINS anhängen
var HOSTED_VIEWER_ORIGINS = ['null', '.....'];
Prüfcode nicht entfernen :|
Ich habe das gleiche Problem (der Dateiursprung stimmt nicht mit dem des Betrachters überein) auf UWP mit einer lokalen PDF-Datei. Welcher Eintrag muss HOSTED_VIEWER_ORIGINS für einen lokalen Pfad genau hinzugefügt werden?
Für alle anderen, die dies in einer App verwenden, musste ich 'file://' hinzufügen, damit lokale Pfade funktionieren.
var HOSTED_VIEWER_ORIGINS = [
'Null',
' http://mozilla.github.io ',
' https://mozilla.github.io ',
'file://' //lokaler Viewer in der App
];
In meinem Fall habe ich lokal codiert und ich hatte das gleiche Problem und habe es gelöst, indem ich meine lokale Adresse hinzugefügt
var HOSTED_VIEWER_ORIGINS = [
'null',
'http://mozilla.github.io',
'https://mozilla.github.io',
'http://localhost:5000'
];
Aber entfernen Sie nicht den Prüfcode :
if (fileOrigin !== viewerOrigin) {
throw new Error('file origin does not match viewer\'s');
}
Ich denke, das Hinzufügen dieser 2 Zeilen wird eine gute Lösung sein. Ihre lokale IP wird automatisch erkannt (wo immer Sie Ihre Anwendung starten)
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);
Es ist absichtlich gemacht, siehe #6916. Ändern Sie viewer.js, um die Herkunft Ihres Hosts in die Liste HOSTED_VIEWER_ORIGINS aufzunehmen. Schließen wie beantwortet.
half mir
Es ist ein sehr schlimmes Problem, wie auch immer noch gelöst.
Der Zugriff zum Abrufen unter ' https://dmain/file.pdf ' vom Ursprung ' http://localhost ' wurde durch die CORS-Richtlinie blockiert: Auf der angeforderten Ressource ist kein 'Access-Control-Allow-Origin'-Header vorhanden. Wenn eine undurchsichtige Antwort Ihren Anforderungen entspricht, setzen Sie den Modus der Anfrage auf "no-cors", um die Ressource mit deaktiviertem CORS abzurufen.
Hallo,
gibt es dafür einen grund?
Es liegt in der Verantwortung des Browsers, sich um die Cors-Richtlinien zu kümmern, nicht pdfjs
Ich denke, dieser Haken sollte entfernt werden.
Ich habe return;
oben in der Funktion "valideFileURL" hinzugefügt und es funktioniert jetzt einwandfrei. Ich kann PDFs von Amazon s3 laden.
Wie @ IK77 erwähnt, können Sie dies bitte begründen?
Nun, ich habe das gefunden: https://github.com/mozilla/pdf.js/pull/6916
@IK77
Hilfreichster Kommentar
Ich beschließe, diese Zeilen in viewer.js zu kommentieren
if (fileOrigin !== viewerOrigin) {
throw new Error('Dateiursprung stimmt nicht mit dem des Betrachters überein');
}