2015-03-05 6 views
0

Я работаю с простой тестовой страницей HTML. Я открываю его с Chrome версии 40.0.2214.115. Чтобы проверить код, я загружаю js-файл с моего рабочего места.Сценарий сценария загружается из файла: /// вместо http: //

Однако загруженный файл пытается загрузить другие файлы js через теги скриптов, но не указывает http: //. Это вызывает ошибку в консоли, поскольку по умолчанию она используется для протокола: /// и не может загрузить файл: //the/restof/theurl.js

Я загрузил файл локально и загрузил его оттуда , добавив http: // ко всем URL-адресам, поэтому он будет использовать HTTP-протокол.

Это прекрасно работает. Однако эти ссылки загружают ДРУГИЕ файлы, которые также не указывают http: //

Есть ли какой-либо способ, которым браузер может использовать http: // для неопределенных тегов скрипта, и избегать загрузки и редактирования КАЖДОГО файла, чтобы проверить небольшая HTML-страница?

+2

Да, используя локальный сервер, такой как MAMP http://www.mamp.info/en/. Это позволит вам запускаться так, как если бы это было на протоколе http. В противном случае вы смотрите на хаки, поскольку ваши страницы не предназначены для работы в протоколе 'file: //' в любом случае, они предназначены для работы в Интернете. Если они предназначены для работы по протоколу 'file: //', вы должны сделать все файлы локально доступными, поскольку нет гарантии подключения к Интернету. – somethinghere

ответ

0

Я думаю, что самый простой способ предотвратить подобные проблемы - фактически использовать очень маленький сервер (например, что-то, предоставленное node.js или тому подобное или lighttpd).

Очевидно, что ваши файлы не должны доставляться через простой протокол file, поэтому вы должны просто использовать http-сервер. Таким образом, вы можете быть уверены, что они работают по назначению, и вам не нужно возиться с вашим браузером на более глубоком уровне.

0

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

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --allow-file-access-from-files 
0

Рассмотрите возможность использования простого локального файлового сервера. Если вы не знаете, как это сделать, поскольку вы разрабатываете в JavaScript, вы можете легко создать простой файловый сервер, используя Node.js, который написан в JS с использованием простого промежуточного программного обеспечения, такого как node-static.

Смежные вопросы