2015-11-12 2 views
6

Мне нужно загрузить файл HTML в существующий div, когда ширина окна меньше 600 пикселей.Функция загрузки jQuery не работает локально

Код:

<head> 
<script> 
    $(document).ready(function(){ 
     if($(window).width() < 600) { 
      $("#testing_div").load("C:/Users/elena/Desktop/Demo/prova.html"); 
     } 
    }); 
</script> 
</head> 
<body> 
    <div id="testing_div"> </div> 
</body> 

Я тестировал этот код на моем сайте, и он работает, но, может быть, я делаю что-то неправильно, чтобы сделать его работу на местном уровне.

Есть ли причина, по которой функция load не работает локально, но только на веб-сервере?

+10

Вы не можете делать запросы к локальной файловой системе - вам нужно использовать веб-сервер. –

+1

Ваша консоль вашего браузера - ваш лучший друг. «Запросы на кросс-начало поддерживаются только для схем протокола: http, data, chrome, chrome-extension, https, chrome-extension-resource.» Также, где вы ссылаетесь на библиотеку jQuery? Он должен находиться между тегами '' – NewToJS

+1

Представьте, какие проблемы безопасности возникают, если доступ к этой файловой системе доступен с клиентской стороны. – px5x2

ответ

4

Причина в безопасности. Запуск веб-страниц через протокол file:// отключил множество функций, так как проблемы безопасности. Вы можете сделать веб-сервер в javascript через Node.js, и у вас может быть веб-сервер в локальной среде без установки apache или чего-то подобного.

Node.js Веб-страница:

https://nodejs.org/en/

-1

У меня есть 2 пути ее решения быстро.

1 - Вы можете загрузить расширение «Allow-Control-Allow-Origin» на Google Chrome.

2 - Вы можете установить программу wamp, wamp будет имитировать локальный веб-сервер. В этом случае вы будете получать доступ к своей странице, используя: «localhost/name_of_the_page.html»

+0

WAMP является излишним для этого. Простой Node.js 'serve' будет достаточно. – Matheus208

+0

ok @ Matheus208, но в будущем она разместит его на веб-сервере. –

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