Google Chrome - отключен доступ к файлам для файлов Chrome для бета-версии 8
Я разрабатываю приложение AJAX с использованием технологий jQuery и Microsoft Seadragon.
Мне нужно иметь доступ к функции html5 canvas toDataURL.
В Google Chrome для этой функции применяется одно и то же правило происхождения, что означает, что страница, выполняемая локально (с file:///
в URL-адресе), не удовлетворяет тому же правилу происхождения и генерируется исключение.
В Chrome 7, начиная приложение с параметром --allow-file-access-from-files
, позволяет вызывать canvas.toDataURL()
из локальных файлов.
Однако, похоже, что запуск бета-версии Chrome 8 с той же опцией (--allow-file-access-from-files
) не разрешает вызов canvas.toDataURL()
в локальном файле.
Оставил ли Chrome параметр --allow-file-access-from-files
или он только что был отключен, так как это бета-версия, а не полная версия?
Спасибо!
Ответы
Ответ 1
Рассматривая проблемы для этого, показано, что вся вещь --allow-file-access-from-files
была брошена.
- "Firefox делает это".
- "Как мы можем это сделать?"
- некоторое время проходит
- "Вот патчи"
- "Проходит! На сундуке интересно, что происходит в следующем выпуске dev"
- "О, это сломано" "Используйте параметр командной строки" "ok"
- "Мы отправили!"
- "Ребята из WTF, вы сломали все мои вещи! Почему вы не сказали нам раньше?"
- Молчание
В ответ на вашу проблему
Действительно, кажется, что это что-то особенное для бета-версии, я использую Chrome 8.0.552.5 dev
здесь, а --allow-file-access-from-files
работает, как и ожидалось, я также тестировал это с помощью Chromium 9.0.592.0 (66889)
, если он также работает как ожидалось.
Я подозреваю, что произошли некоторые изменения в ветки dev. К сожалению, найти что-то на хромовом трекере почти невозможно.
Ответ 2
Вы закрыли все экземпляры chrome перед открытием с помощью аргумента командной строки? Вы должны сделать это, чтобы этот параметр работал.
Ответ 3
Подводя итог всем ответам до сих пор.
Перед запуском chrome убедитесь, что процессы chrome не запущены.
Окно
-allow-file-access-from-files
(с одной тире)
Linux
--allow-file-access-from-files
(с двумя штрихами)
Ответ 4
Я нашел способ решить проблему с использованием подхода JavaScript/Flash. Если Flash компилируется в изолированной программной среде Local Only, он имеет полный доступ к локальным файлам. Используя ExternalInterface, JavaScript может запросить приложение Flash для загрузки файла, а Flash может передать результат обратно JavaScript.
Вы можете найти мою реализацию здесь: https://code.google.com/p/flash-loader/
Ответ 5
Трюк, который завопил для меня, заключается в том, что вы должны указать абсолютный путь файла, а не просто имя файла в своем HTML-коде. например file://... вместо прямого имени, даже если вы обращаетесь к файлу в том же каталоге. Он будет работать!