#javascript #jquery #webgl #three.js
#javascript #jquery #webgl #three.js
Вопрос:
я следую этому руководству по началу работы с WebGL и three.js . Моя проблема заключается в том, что при добавлении строки map: THREE.ImageUtils.loadTexture("images/particle.png"),
Chrome возникает Uncaught Error: SECURITY_ERR: DOM Exception 18.
Я понимаю, что это связано с междоменной ссылкой, но я обслуживаю это с виртуальной машины с настройкой LAMP, так как же это может быть перекрестная ссылка? Я могу заставить это работать, выполнив python -m SimpleHTTPServer
на хосте, а затем открыть http://localhost:8000/Particles.html в Chrome, но это решение бесполезно, если оно работает только с локальным сервером.
Как заставить это работать, чтобы веб-сервер действительно мог правильно обрабатывать страницу?
Ответ №1:
Я играл с three.js немного, но, боюсь, я не силен в JavaScript.
Тем не менее, я думаю, вам следует предоставить API getImageData Макса Новаковича. Если это поможет, в блоге disturb media есть короткий пост об этом.
Комментарии:
1. Это может быть способом обойти проблему, но с этим скриптом мое приложение будет зависеть от доступности сервера, перенаправляющего изображения. Однако я не понимаю, почему эта ошибка появляется в первую очередь, когда она размещена на сервере в виртуальной машине !?
Ответ №2:
Он должен работать, когда размещен на веб-сервере, и изображения извлекаются из того же домена (как вы можете видеть из примера python -m SimpleHTTPServer). Я не знаю, что происходит с сервером виртуальной машины, выполняет ли он какое-то перенаправление виртуального хоста? (Как в: запросы веб-страницы http://foobar/image.png , сервер 302 перенаправляет на http://cdn/image.png )
Если у вас где-нибудь есть тестовый пример, я могу взглянуть.