THREE.js: Cross-origin-image laden verweigert, um Cross-Origin Resource Sharing policy
Meine Chrome version 31.0.1650.57
Ich bin lernen THREE.js und Download planet der Probe aus https://github.com/jeromeetienne/threex.planets/
Aber wenn ich das earth.html
einen seltsamen Fehler passiert, wie der Titel sagt:
THREE.WebGLRenderer 59 three.min.js:424
Cross-origin image load denied by Cross-Origin Resource Sharing policy. earth.html:1
Uncaught SecurityError: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': the canvas has been tainted by cross-origin data. threex.planets.js:73
(anonymous function) threex.planets.js:73
Schaute ich durch den code und finden Sie etwas, das könnte im Zusammenhang mit dieser Fehlermeldung:
THREEx.Planets.baseURL = '../'
...
map: THREE.ImageUtils.loadTexture(THREEx.Planets.baseURL+'images/earthmap1k.jpg'),
Aber ich weiß nicht, wie man es beheben, ich bin relativ neu in javascript,
hoffe jemand würde mir helfen!
Dank einer Tonne!
- github.com/mrdoob/three.js/wiki/How-to-run-things-locally funktioniert diese Hilfe? Benötigen Sie einen lokalen server zum laufen textur laden Beispiele lokal...
- Ja habe ich behoben, indem Sie einen lokalen server mit Node.js-vielen herzlichen Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laufen Sie diese auf einem lokalen Dateisystem (Doppelklick auf die html-Datei) oder sind Sie es läuft auf ein web server? Wenn Sie führen Sie es auf einem web-server, sollten Sie vermeiden, das cross-origin-Probleme mit den Berechtigungen auftreten. (Dies ist ein Sicherheitsfeature von Browsern wie Chrome.)
Behob ich dieses problem durch die Installation Node.js und einem lokalen server zu öffnen Sie diese html -!
Verwenden
crossOrigin="anonymous"
in Ihrem image-tag als unten.<img src="SOMETHING" crossOrigin="anonymous" /
>Etwas wie dieses Problem beheben sollte.
Ich konw, dass problem ist, dass Sie brauchen, um Ihr Projekt auszuführen, oder die Three.js Beispiel in server-Umgebung,wie die oben genannten beantworten ausführen von code in nodejs oder Appserv diese lokalen dienen