холст getImageData не работает при локальном запуске в Windows?(исключение безопасности) - PullRequest
6 голосов
/ 01 ноября 2010

Я пишу локальное приложение HTML5 для обработки некоторых научных изображений.Я нахожусь на OS X, и я специально пишу это в JavaScript / HTML5 для переносимости, чтобы я мог продемонстрировать это своему руководителю на машине Windows.Это приложение никогда не будет развернуто на сервере.

Проблема в том, что оно отлично работает в Safari на OS X, но в Windows выдает ошибку безопасности как в Firefox, так и в Chrome.Я думаю, это потому, что думает , что изображение находится в другом домене, но на самом деле оно находится в той же папке, что и скрипт.

Можно ли как-то обойти это?

Ошибка, о которой идет речь, такая же, как подробно описанная здесь:

Uncaught Error: SECURITY_ERR: исключение DOM 18 при попытке установить cookie

РедактироватьЯ должен уточнить, что ответ на вопрос, который я связал (запуск на локальном сервере), невозможен, потому что я не могу пойти и установить какое-либо программное обеспечение (или серверы!) На эти машины.Причина, по которой я надеюсь получить альтернативный ответ, заключается в том, что он работает на OS X.

Ответы [ 2 ]

11 голосов
/ 02 ноября 2010

Чтобы обойти проблемы перекрестного происхождения в Chrome, вы можете запустить Chrome с этим флагом:

--allow-file-access-from-files
0 голосов
/ 01 ноября 2010

Если вы можете запустить приложение через сервер на своем компьютере, то (при условии, что компьютер вашего руководителя находится в той же сети), вы сможете открыть сайт на его компьютере, просто введя свой IP-адрес в адресную строку его браузер. (Вы можете найти свой IP-адрес на панели настроек сети)

Вы не сможете обойти это, если у рассматриваемого браузера нет предпочтения разрешить эту дыру в безопасности, и даже тогда это не очень хорошая идея.

Попробуйте найти способ запустить ваш сайт в серверной среде.

Редактировать: Я только что понял, что ваш вопрос может быть истолкован так, как будто вы не можете даже установить сервер на своей машине с OS X. Если это то, что вы имели в виду, во-первых, это почти наверняка неверно - вы можете устанавливать и запускать программы в своем пользовательском пространстве, хотя вы не сможете запустить сервер на любых портах 1024 или ниже. Но, во-вторых, вы все еще хотите найти способ запустить сайт в серверной среде, даже если это означает поиск дополнительных ресурсов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...