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-сервере).

Другие вопросы по тегам