Почему html не видит js
Перейти к содержимому

Почему html не видит js

  • автор:

Как подключить Javascript файл к html документу?

Предположим, что у вас есть html-документ и javascript код, который должен в нем выполняться. Код javacript может находиться как внутри html-документа, так и в отдельном файле формата *.js.

Проблема, которая очень часто появляется у начинающих пользователей: Как подключить javacript-код или файл к html документу?

В этой небольшой заметке мы рассмотрим, как это можно сделать.

Все мои уроки по Javascript здесь.

Пусть содержимое файла html будет следующее:

    Документ без названия  Содержимое html-файла 

Ничего лишнего. Теперь код, который необходимо подключить:

alert("Javacript подключен");

Т.е. этот скрипт просто должен вывести всплывающее окно с сообщением, что «Javacript подключен» при открытии файла html-документа. Итак, рассматриваем два варианта подключения скрипта.

Вариант 1. Подключение внутри html-файла.

Делается это с помощью конструкции:

  

Вставим этот код можно внутри тэга , либо внутри тега . В итоге, содержимое html файла может буть следующим:

    Документ без названия    Содержимое html-файла 

Проверяем, что все работает:

21-10-2014 13-05-32

Отлично. Окно с сообщением появилось.

Вариант 2. Подключение внешнего файла скрипта с кодом.

Если javascript-код находится во внешнем файле, то способ его подключение будет несколько другим. Пусть такой файл называется script.js. О том, как создать javascript файл я писал здесь.

В итоге, имеем два файла index.html и script.js, которые находятся в одной папке.

21-10-2014 13-04-21

Как теперь подключить скрипт к html файлу? В этом случае нужно воспользоваться тэгом

Об адресах и как их правильно выставлять информация здесь.

Так как файл скрипта script.js находится в той же папке, что и файл index.html, то html-код может быть следующим:

    Документ без названия  Содержимое html-файла 

Как правило, скрипты подключаются в области документа. Если все сделано правильно, то вы точно также сможете увидеть всплывающее окно с надписью, что «javascript подключен». Это два основных способа, как вы можете подключить код javascript к html документу.

Пользуйтесь этим на практике.

Все мои уроки по Javascript здесь.

Не видит JS-файл

Добрый день! При попытке сделать script src=‘js/script.js’ не выполняет его, а присоединяет к url, типа 127.0.0.1:port/js/script.js Во всем проекте дал rwx всем файлам, не помогло. Мозилла, Федора 32 (виртуалка)

p0f1g1st
17.10.20 10:08:09 MSK

Пример разметки бы приложил, что ли.

Nervous ★★★★★
( 17.10.20 10:17:03 MSK )

не выполняет его, а присоединяет к url

eternal_sorrow ★★★★★
( 17.10.20 11:13:02 MSK )

Я ничерта не понял но рискну предположить что у тебя кривой контенттайп для жс в нжиниксе

ya-betmen ★★★★★
( 17.10.20 11:44:16 MSK )

Выше верно указали, что-то с заголовками на сервере. Content-type, может content-disposition: attachment, etc в этом направлении смотреть.

Stack77
( 17.10.20 11:55:24 MSK )

У тебя ПХП головного мозга, пройди какие-нибудь нормальные курсы HTML для начала

script src=‘js/script.js’ не выполняет его, а присоединяет к url, типа 127.0.0.1:port/js/script.js

Относительные урлы так и работают, всё правильно

Goury ★★★★★
( 17.10.20 11:56:57 MSK )
Последнее исправление: Goury 17.10.20 11:57:44 MSK (всего исправлений: 1)

Ответ на: комментарий от Goury 17.10.20 11:56:57 MSK

То он так скорее всего объяснил «хорошо», что ничего не понятно. Там видимо или с заголовками типа content-* что-то не то или в mime types для js какая-то ерунда вместо application/javascript.

Stack77
( 17.10.20 12:07:06 MSK )
Ответ на: комментарий от Stack77 17.10.20 12:07:06 MSK

Мой обширный опыт общения с рукожопыми пыхерами (о получении которого я крайне сожалею, но прошлого не вернуть) подсказывает что он пытается в контексте вебсервера зацепить локальный файл.
Заголовки тут ни при чём, фаерфокс умеет выполнять JS с неправильным контент-тайпом, просто в консоль поругается на него.

Goury ★★★★★
( 17.10.20 12:16:30 MSK )
Ответ на: комментарий от Goury 17.10.20 12:16:30 MSK

Всё может быть. Я бы с таким ником как у ТС вообще бы забил на это дело XD. Ну, а если серьезно, то согласен, нужно нормально проблему обозначать, чай не Ванги разгадывать.

Не подключается js файл в html

Не судите строго если проблема глупая. Выучил основы JavaScript и продолжаю путь изучая React. Я почти всегда использую отдельно html и отдельно js файлы. Начав учить React, в туториале всегда js пишется в html файле, и нет инструкций как добавить js файл с Reactом в html. Из базы js я знаю что подключается посредством добавления тега . Узнал, что чтобы добавить React непосредственно в html, надо в head добавить скрипты с реактом, и написать index.html:

      React Application   const Func = () => < return 

Hello React

; > ReactDOM.render(, document.getElementById("root"));
      React Application   

script.js:

import React from "react"; import ReactDOM from "react-dom"; const Func = () => < return 

Hello react

; > ReactDOM.render(, document.getElementById("root"));

Уточнение: читал что может быть из-за стрелочных функций, однако если это и может быть проблемой, у меня не работает ни такой формат функции, ни с словом function

Правильно подключаем Javascript в HTML

Javascript (часто можно увидеть сокращенную для написания версию JS) это язык программирования, который очень часто применяется в web-разработке. В этой статье мы расскажем, как подключить javascript к html документу. Сделать это можно двумя способами: встроить js-код непосредственно в сам html файл, так и с помощью подключения внешнего файла javascript

Первый способ: вставляем js-код прямо в html

Вставить javascript-код можно просто добавив его в любое место вашей html страницы, внутри тега

Например, вот так может выглядеть ваша html-страница с подключенным js-кодом:

     JS в HTML     

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

Второй способ: подключаем внешний файл

У этого метода есть ряд преимуществ.

  • Разделение файлов упрощает дальнейшую работу с ними. Представьте себе, когда у вас несколько тысяч строк js-кода, очень легко во всем этом потеряться.
  • Файлы js можно закешировать и тогда ваш сайт будет грузиться быстрее.
  • Вы можете загружать js-код только после того, как вся ваша верстка прогрузится.

Давайте предположим, что у вас вот такая структура:

site/ ├── css/ | └── style.css ├── js/ | └── script.js └── index.html

Тогда, чтобы подключить js файл script.js вам нужно прописать в html следующее:

Выглядеть это будет вот так:

     JS в HTML    

Если же у вас немного другая структура или вам нужно подключить js файл в html документе, который не находится в корне, а лежит, к примеру в папке templates, то используйте символы «./» чтобы задать вложенность.

Для наглядности, предположим у вас такая структура:

project/ ├── css/ | └── style.css ├── js/ | └── script.js └── templates └── contact.html

Тогда путь к файлу script.js из contact.html будет такой:

Вот так можно подключать js к html файлам.

Кстати, обратите внимание, что и в первом и во втором способе можно не указывать type=»text/javascript» для тега script. Это уже необязательно.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *