API FileReader работает в jsFiddle, но не из локального файла

Я работаю над расширением Chrome/Firefox, которое будет использовать файловый API для локального хранения файлов. Я пытаюсь запустить пример, но сталкиваюсь с проблемами, которые, похоже, сосредоточены вокруг Chrome. Кто-нибудь может объяснить, почему этот jsFiddle работает нормально, но файл тот же код при запуске из локального файла не работает. Обратите внимание, что он отлично работает в Firefox, но не в Chrome. Любые идеи?


person danwoods    schedule 16.03.2012    source источник


Ответы (3)


Chrome имеет необычайно строгую веб-безопасность; многие вещи, такие как Ajax, не будут работать при локальном запуске. Это одна из них. Вы можете обойти эту проблему, используя локальный веб-сервер, как предлагает @ephemient, или вы можете запустить Chrome в небезопасном режиме для тестирования:

chrome.exe --disable-web-security
person Ry-♦    schedule 16.03.2012
comment
См. также --allow-file-access-from files opensourcehacker.com/2010/11/29/ - person Mikko Ohtamaa; 18.03.2012
comment
Или вы можете создать упакованное приложение.... code.google.com/chrome/extensions /apps.html - person PAEz; 18.03.2012
comment
@PAEz: я предлагал это как временное решение для тестирования, иначе все может стать неудобно. Определенно не окончательное решение (что с отключением безопасности и все такое) :) - person Ry-♦; 18.03.2012
comment
@minitech И хорошее предложение, если вы осведомлены и осторожны ... Я также просто предлагал другое предложение;). Одна вещь, если вы собираетесь использовать это, может быть хорошо также использовать -user-data-dir и указать его на какой-то каталог, просто чтобы быть в безопасности. - person PAEz; 18.03.2012

Ага. SOP Chrome запрещает работать практически всему в file://[1]. Вместо этого используйте локальный веб-сервер.

person ephemient    schedule 16.03.2012

Если вы используете хром. Запустите хром из командной строки с флагом --allow-file-access-from-files chrome не поддерживает доступ к локальному файлу без этого флага.

person kongaraju    schedule 14.06.2012