#javascript
#javascript
Вопрос:
Я новичок в Javascript,
Когда у меня есть эти два файла в одном каталоге на рабочем столе, все работает нормально,
Но когда я помещаю их в каталог веб-сервера /var/www/html
, это не работает
Я знаю, что JS — это клиентская часть, но если мы создаем веб-сайт, эти файлы .js будут находиться в некотором каталоге веб-сервера и должны работать, пока они там размещены
Я использую apache 2.4 в ubuntu 20.4
Javascript.js код :
/*global document, console */
var mybtn = document.getElementById("mybtn");
var mydiv = document.getElementById("mydiv");
var myid = document.getElementById("myid");
mybtn.onclick = function(){
console.log(myid.value);
mydiv.innerHTML = myid.value;
}
.html-код:
<html>
<head></head>
<body>
<input type="text" id="myid">
<button id="mybtn">click</button>
<div id="mydiv"></div>
<script src="javascript.js">
</script>
</body>
</html>
Комментарии:
1. укажите правильный путь к javascript.js если ваш файл js находится в /var / www / js, укажите путь, подобный этому src=»../js/javascript.js » предполагая, что ваш HTML-файл находится в / var / www / html
2. Когда клиент обращается к веб-сайту, сервер веб-сайта фактически отправляет клиенту файлы html и js, и они запускаются в браузере клиента. Конечно, вы можете запускать код js (например, node) и на сервере, но из добавленного вами примера кода похоже, что он должен выполняться на клиенте
3. @NaveenKashyap Оба файла находятся в одном каталоге (/var/www / html).
4. @OmriAttiya Итак, почему мой Apache не отправляет файлы в мой Chrome здесь ?
5. тогда попробуйте./javascript
Ответ №1:
Давайте предположим, что это ваш каталог public_html / var / www / html и для лучшей организации кода создайте каталог для файлов javascript как js. Вы можете сделать это для CSS, изображений и так далее. Итак, ваш общедоступный каталог становится таким
public_html
js
myjscodehere.js // copy your javascript code to this file.
css
images
index.html
Что касается index.html . Задайте путь к каталогу для вашего файла javascript.
<html>
<head></head>
<body>
<input type="text" id="myid">
<button id="mybtn">click</button>
<div id="mydiv"></div>
<script type="text/javascript" src="/js/myjscodehere.js"></script>
</body>
</html>
Ваши файлы javascript будут работать на стороне клиента после отправки запроса get на ваш веб-сервер с помощью Chrome, Mozilla и на
Разделение кода js дает вам много преимуществ, таких как кэширование ваших файлов js и лучшая организация, если вы создаете более крупный проект, обновление вашего кода будет проблемой, поэтому лучше поместить ваши файлы js в каталог, но это не означает, что вы не можете запускать код вашего скрипта javascript встроенным. Да, вы можете сделать это следующим образом.
<html>
<head></head>
<body>
<input type="text" id="myid">
<button id="mybtn">click</button>
<div id="mydiv"></div>
<script type="text/javascript">
var mybtn = document.getElementById("mybtn");
var mydiv = document.getElementById("mydiv");
var myid = document.getElementById("myid");
mybtn.onclick = function(){
console.log(myid.value);
mydiv.innerHTML = myid.value;
}
</script>
</body>
</html>
И поскольку код javascript выполняется на стороне клиента. Вы можете запустить его на своем компьютере с Windows, используя веб-браузер, и вам не нужен веб-сервер. Цель отправки вашего файла js или всего проекта на веб-сервер заключается в том, чтобы ваши клиенты или люди, которые посещают ваш веб-сайт, использовали ваше онлайн-приложение на своих локальных компьютерах.
Комментарии:
1. Вау, это сработало, когда я разделил два файла (я поместил файл .js в каталог js), так что это не об «организации» не могли бы вы объяснить, почему мне пришлось разделять файлы, чтобы .js работал в каталоге Apache, в то время как когда они были на рабочем столе, они все равно работали