#javascript #path
#javascript #путь
Вопрос:
Прошло довольно много времени с тех пор, как я занимался интерфейсной разработкой, и у меня возникли некоторые проблемы… Мой текущий файл находится в этом месте на моем сервере:
/home/www/mysite/sites/all/custom_includes/roster/user_roster.php
У меня есть файл js, расположенный по адресу:
/home/www/lib/jquery/jquery.fancybox.js
Если бы это был php-файл, который я пытался включить, я мог бы сделать что-то вроде этого:
$jsPath = '/home/www/lib/jquery';
require_once($jsPath.'/jquery.fancybox.js');
Но, похоже, это не работает с тегом script. Я попробовал это так:
<script type="text/javascript" src="<?= $jsPath; ?>/jquery.fancybox.js"></script>
но он оценивается как
<script type="text/javascript" src="/home/www/lib/jquery/jquery.fancybox-1.3.4.pack.js"></script>
что выдает мне ошибку «Страница не найдена». Я застрял, используя 10000 уровней .. / в моем скрипте src path для получения файла? Или есть лучший способ?
Ответ №1:
При работе с js вам нужно подумать об этом с точки зрения клиента.
Ваш путь должен быть: /lib/jquery/jquery.fancybox-1.3.4.pack.js
Пути клиента относятся к корню вашего веб-сервера, в данном случае к /home / www Также помните, что вы не можете получить доступ к файлам на более высоком уровне, чем / home / www от клиента, не пройдя через серверный скрипт.
Комментарии:
1. Я тоже пробовал это. Это все еще выдает мне ошибку «файл не найден».
2. Попробуйте просмотреть файл непосредственно из своего браузера и убедитесь, что он правильный.
3. Это все еще выдает мне ошибку «файл не найден». Но когда я помещаю файл php в этот каталог и использую require_once, он находит его без проблем, поэтому я знаю, что путь правильный.
4. Пути PHP и пути веб-сервера совершенно разные. Например: domain.com/example.js не указывает на /example.js он будет указывать на /home/www/example.js (Предполагается, что /home / www / является корневым каталогом вашего веб-сервера)