Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/144: Рейтинг темы: голосов - 144, средняя оценка - 4.80
 Аватар для dalay_lama
82 / 82 / 50
Регистрация: 22.09.2012
Сообщений: 495

Не работает подключение внешнего файла

11.06.2013, 09:00. Показов 29673. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток. Вот решил потихоньку начать осваивать JavaScript и тут же "споткнулся". Проблема такая:
при подключении внешнего файла js в html документ, функция, которая описана в файле js не срабатывает, а если функцию внутри прописать, то всё хорошо, вот конкретный пример:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="jsPhpStorm.js"></script>
    <title></title>
</head>
<body>
<script>
    show();
</script>
</body>
</html>
JavaScript
1
2
3
4
5
function show()
{
    for (var i=0;i<0;i++)
        alert("Hello World!");
}
Вот при таком подходе ничего не происходит, а если сделать так:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
<script>
    for (var i=0;i<3;i++)
        alert("Hello World!");
</script>
</body>
</html>
То всё хорошо. Вопрос: что я делаю не так? Файл js лежит в том-же каталоге что и файл html. Проверил в браузерах firefox и explorer9
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.06.2013, 09:00
Ответы с готовыми решениями:

Js файл - азы: подключение внешнего .js файла к серверам
Всем доброго. С JavaScript столкнулся недавно, при тестировании сайта на Блогспот. На данную проблему потрачено три дня времени и все...

Не работает функция из внешнего файла-скрипта
Здравствуйте! Не работают функции которые я объявляю через $(function() {}) К примеру: $(function () { ...

Подключение внешнего файла
Во многих скриптах использую один и тот же код, например, подключение к определенной БД SQLite. Можно вынести эти строки в отдельный файл и...

15
 Аватар для Xp-Apache
32 / 18 / 10
Регистрация: 20.05.2013
Сообщений: 47
11.06.2013, 09:08
Может быть дело в том, что тело цикла for (var i = 0; i < 0; i++), описанного в файле jsPhpStorm.js ни разу не выполнится? А тело цикла for (var i = 0; i < 3; i++), описанного в html выполнится три раза.
1
 Аватар для dalay_lama
82 / 82 / 50
Регистрация: 22.09.2012
Сообщений: 495
11.06.2013, 09:13  [ТС]
извиняюсь, это я здесь опечатался, там на самом деле прописывал i<3
0
 Аватар для massEffect
80 / 80 / 53
Регистрация: 22.03.2013
Сообщений: 271
13.06.2013, 19:27
может проблема в пути к файлу
0
0 / 0 / 0
Регистрация: 02.11.2013
Сообщений: 6
02.11.2013, 13:10
Привет!
Удалось ли решить проблему? Столкнулся с аналогичной и убил безрезультатно несколько дней. На другом форуме, так же как и здесь, никто толком не может ничего сказать.
Буду признателен за подсказку.
0
 Аватар для vovandr
636 / 523 / 195
Регистрация: 19.08.2013
Сообщений: 1,400
02.11.2013, 13:53
У вас условие прописано криво, попробуйте так:
JavaScript
1
2
3
4
5
6
 function show()
{
    for (var i=0;i<1;i++) {
        alert("Hello World!");
    }
}
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
02.11.2013, 14:04
dvigenie, скажу "толком":

если прописанный в HTML-коде тег <script> находится в заголовке (между <head> и </head>), то js-файл, указанный в атрибуте SRC, обязательно подключится

если вдруг НЕ подключился, то единственной причиной может быть только неверно указанный путь к js-файлу

лишь для иных вариантов -- тег <script> не находится в заголовке; тег <script> создаётся динамически и пр. -- возможны какие-то ещё причины
-----

следует разделять понятия "не подключился" и "не работает"
очень часто всё нормально подключается, но из-за ошибки в скрипте подключенный файл не работает
для проверки первой строкой прописывайте alert ('Подключён, начинаю работу!')

отмечу, что самой распространённой ошибкой у неопытных товарищей бывает включение HTML-тегов <script></script> в тело js-файлов
2
0 / 0 / 0
Регистрация: 02.11.2013
Сообщений: 6
02.11.2013, 15:02
Цитата Сообщение от kalabuni Посмотреть сообщение
dvigenie, скажу "толком":

если прописанный в HTML-коде тег <script> находится в заголовке (между <head> и </head>), то js-файл, указанный в атрибуте SRC, обязательно подключится

если вдруг НЕ подключился, то единственной причиной может быть только неверно указанный путь к js-файлу

лишь для иных вариантов -- тег <script> не находится в заголовке; тег <script> создаётся динамически и пр. -- возможны какие-то ещё причины
-----

следует разделять понятия "не подключился" и "не работает"
очень часто всё нормально подключается, но из-за ошибки в скрипте подключенный файл не работает
для проверки первой строкой прописывайте alert ('Подключён, начинаю работу!')

отмечу, что самой распространённой ошибкой у неопытных товарищей бывает включение HTML-тегов <script></script> в тело js-файлов

Добавлено через 24 минуты
Так вроде всё сделано как вы говорите.
HTML5
1
2
3
4
5
6
7
8
9
10
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
        <meta http-equiv="content-type" content="text/html; charset=windows-1251" />
        <title>Курс по Javascript</title>
        <link href="css/mystyle.css" rel="stylesheet" type="text/css" />
        <script src="js/myscript.js" type="text/javascript"></script>
        <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
    
    </head>
Файл myscript.js находится в папке js и имеет такой вид:
JavaScript
1
2
3
4
$(document).ready(function()  {
    var text = $('#main_h1').text();
    alert(text);
});
Когда в этом файле вместо этой функции прописываю alert(1); - на экран единица выводится. Следовательно путь указан верно. В папке .js уложен файл jquery-1.7.2.min.js с библиотекой. Пробовал и другие версии библиотек, начиная с 1.6.4 и заканчивая 1.10.2. - но результат тот же. Синтаксис функции воде тоже правильный. Но ничего не работает. А прописываю функцию в секцию body - всё сразу работает. Вот такая, блин, фантастическая мне головоломка.
0
 Аватар для vovandr
636 / 523 / 195
Регистрация: 19.08.2013
Сообщений: 1,400
02.11.2013, 15:45
dvigenie библиотеку jquery поставьте выше в коде :
HTML5
1
2
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
<script src="js/myscript.js" type="text/javascript"></script>
3
Эксперт JSЭксперт HTML/CSS
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,529
02.11.2013, 21:35
dalay_lama, да работает первый вариант из первого поста, нет в нем ошибки, я просто скопировал к себе.
Почему бы не глянуть в консоль лисы, что она там пишет.

в крайнем случае выложить архивом не рабочий вариант
0
0 / 0 / 0
Регистрация: 02.11.2013
Сообщений: 6
02.11.2013, 22:52
Цитата Сообщение от vovandr Посмотреть сообщение
dvigenie библиотеку jquery поставьте выше в коде :
HTML5
1
2
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
<script src="js/myscript.js" type="text/javascript"></script>
Вован, ты - ГЕНИЙ! Никто не мог разобраться с этой загвоздкой. Теперь напишу на другом форуме, что здесь есть такой парень, который эту проблему как орех... А там несколько дней все в ступоре. У себя проверяют - у них работает. А у меня - ни хрена. Хотя ведь тоже вопрос: у них всё равно, в какой последовательности размещены скрипты, а у меня - должны быть только так?
Мой глубочайший РЕСПЕКТ!
0
 Аватар для vovandr
636 / 523 / 195
Регистрация: 19.08.2013
Сообщений: 1,400
03.11.2013, 01:52
dvigenie
Библиотеку jquery всегда следует размещать выше файлов использующих её, поэтому скорее всего у них она и стояла выше в коде.
1
3 / 3 / 1
Регистрация: 10.11.2013
Сообщений: 58
12.12.2014, 13:24
Была таже проблема. Установил права для внешнего js скрипта rwx: заработало.
0
0 / 0 / 0
Регистрация: 20.06.2014
Сообщений: 32
01.06.2015, 13:38
Было то же самое, но у меня более узкий случай: во внешнем js-файле я использовал ту же обёртку
JavaScript
1
2
3
$(function () {
 
});
но внутри использовал обработчик .on('click', ...). Внутри html-файла, помещённое в конце (кстати, этот фетиш ещё актуален ?) работало, а во внешнем файле нет. Решить проблему удалось сменой обработчика .on на .live - да знаю, что это моветон, но у меня Jquery версии 1.7, и видимо он с .on ещё не очень хорошо везде работает..
0
0 / 0 / 0
Регистрация: 13.08.2018
Сообщений: 1
13.08.2018, 08:58
Проблема заключается в подключении файла, так как он подключен в шапке html внутри <head>, он не видит файлы после, т.к. их не существует для него.Решить можно подключив его в самом конце html-файла перед тегом </html> или просто в подключенном скрипте писать код внутри функции
Java
1
$(document).ready( function() { 'Здесь весь код файла js' });
0
0 / 0 / 0
Регистрация: 26.12.2018
Сообщений: 3
10.11.2019, 23:02
dalay_lama, Здравствуйте. В 2012 году вы задали вопрос:
Всем доброго времени суток. Вот решил потихоньку начать осваивать JavaScript и тут же "споткнулся". Проблема такая:
при подключении внешнего файла js в html документ, функция, которая описана в файле js не срабатывает, а если функцию внутри прописать, то всё хорошо, вот конкретный пример:
HTML5Выделить код
1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="jsPhpStorm.js"></script>
<title></title>
</head>
<body>
<script>
show();
</script>
</body>
</html>
JavascriptВыделить код
1
2
3
4
5
function show()
{
for (var i=0;i<0;i++)
alert("Hello World!");
}
Вот при таком подходе ничего не происходит, а если сделать так:
HTML5Выделить код
1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
for (var i=0;i<3;i++)
alert("Hello World!");
</script>
</body>
</html>

сообщите, пожалуйста, в чем в итоге была проблема?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.11.2019, 23:02
Помогаю со студенческими работами здесь

Подключение внешнего файла
Доброго времени суток! Подскажите пожалуйста как подключить 2.php к 1.php. Есть файл 1.php, выводить простую информацию. Также есть...

Подключение внешнего файла к проекту
Здравствуйте. Подскажите возможно ли подкючить к проекту, некий файл, например parameters.h в котором были бы описаны часть констант и...

React.js подключение внешнего js файла
Здравствуйте. Только что начал изучать React и дошло до того, что мой js файл не подгружает компоненты на страницу. Если этот же код...

Не работает подключение внешнего script.js к шаблону Django
script.js находится в папке /static/ вызывается таким образом: {% load staticfiles %} &lt;script&gt; type = &quot;text/javascript&quot;...

Подключение внешнего css-файла к html
Здравствуйте, форумчане! Меня интересует такой вопрос, как подключить внешний css-файл в html-код...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru