ftp:// веб-страница в FF и Chrome не загружает скрипт file://
Я создаю веб-страницу, к которой я могу получить доступ только по ftp:
ftp://192.168.0.1.cutthis/mypage.html
Этот URL открывает страницу в браузере, как если бы я использовал протокол HTTP.
Страница содержит динамический графический интерфейс. Чтобы упростить его разработку, я переместил весь javascript на компьютер (192.168.0.2), к которому у меня есть доступ, чтобы я мог быстрее его редактировать. В html-коде mypage.html строка сценария выглядит так:
<script type="text/javascript" src="file://///192.168.0.2/myscript.js"></script>
FF и Chrome загружают скрипт (Firebug подтверждает это), но не запускают его. Только IE запускает его.
Как заставить FF и / или Chrome запустить скрипт? Или как я могу решить проблему слишком сильно?
2 ответа
Кросс -протокольный сценарий?
Способ 1:
Для Chrome попробуйте расширение: LocalLinks
Для FF попробуйте расширения: LocalLink, Ссылки на локальную файловую систему, IE Tab
Способ 2:
Запустите Chrome с флагом --allow-file-access-from-files или попробуйте другой флаг, который отключает межсайтовый скриптинг (предупреждение: это опасно)
настроить политику безопасности в FF (создать специальную политику для своего сайта - читайте здесь: http://kb.mozillazine.org/Links_to_local_pages_don%27t_work, Security_Policies)
Но я все еще не уверен, поможет ли все это. FTP: URL - это особый случай
MDN говорит о той же политике происхождения:
Такая же политика происхождения не позволяет документу или скрипту, загруженному из одного источника, получать или задавать свойства документа из другого источника.
myscript.js
от происхождения file:////192.168.0.2/
но он загружается на страницу с источником ftp://192.168.0.1.cutthis
, Я предполагаю, что междоменный сценарий не может выполнить манипуляции, которые вы ожидаете, потому что он загружен из другого источника.
Решение состоит в том, чтобы разместить и скрипт, и страницу с одним и тем же источником (т. Е. Также обслуживать HTML-страницу поверх file://
или, что еще лучше, обслуживайте их обоих на локальном HTTP-сервере).