HTML5 Canvas - Как для флага origin-clean устанавливается значение false? - PullRequest
3 голосов
/ 14 февраля 2011

Я начал работать с HTML5 Canvas и Video, и у меня продолжает возникать эта проблема: я пробую демонстрации и эксперименты, но я не могу их просмотреть, пока не загружу их на свой веб-сервер. На данный момент это не представляет огромной проблемы, потому что я работаю со сравнительно небольшими файлами, но на самом деле я готовлю более крупный проект, и эта проблема станет очень неудобной очень быстро. А также я хотел бы просто изложить свои факты. Я работал как с моими собственными видео, так и с демонстрациями. Я работал с видео, которые я закодировал много лет назад, и я работал с видео, которые я закодировал за минуту до того, как использовать их в своем коде. Результат всегда один и тот же: использование контейнера HTML5 Video работает, использование видео внутри Canvas - нет, Canvas просто не отображает видео (если, как я уже говорил, я загружаю их на сервер).

Это информация, которую я нашел до сих пор:

http://html5doctor.com/video-canvas-magic/

http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#security-with-canvas-elements

(и немного информации о w3, но я не могу публиковать более двух ссылок)

Из того, что я понимаю, мой холст должен быть испорчен, и мои файлы не выглядят «чистыми от оригинала», но это все, что я смог выяснить. Я не понимаю почему.

Кто-нибудь знает об этом больше и может объяснить, как и почему это работает?

1 Ответ

2 голосов
/ 19 апреля 2011

В браузерах строго разделено все, что загружено из http://, и все, что загружено из file:// URI.Это на самом деле довольно разумно, иначе случайные страницы, загруженные из Интернета, смогут читать файлы с вашего жесткого диска.Есть несколько дополнительных ограничений, которые применяются к file:// самим URI , опять-таки они направлены на то, чтобы файлы, загруженные из Интернета, не имели свободного запуска вашего жесткого диска.

Сказаввсе это, если ваш HTML-файл и видео находятся в одном и том же каталоге на жестком диске, тогда все должно работать, так как все эти условия должны быть выполнены.

Если у вас все еще есть проблемы, один полезный подходДля локальной разработки стоит использовать облегченный веб-сервер.Лично я использую SimpleHTTPServer * Python , потому что он уже установлен на моей машине, но есть много других - часто фреймворки для веб-разработки (например, Ruby on Rails) поставляются со встроенными.

...