Не загружается внешний файл JS
Насколько я могу судить, нет реальной причины, по которой этот код не должен работать. У меня есть файл HTML и внешний файл .js. Вот заявление, которое я использую внутри html для загрузки файла .js:
Имя файла правильное, и оно находится в том же каталоге. Я выложу полный код html-страницы ниже, на случай, если что-то не так с чем-то другим.
Есть ли что-то, что мне не хватает? Файл .js должен составлять скользящее меню, однако он просто не загружается. В файл .js вставлено предупреждение, которое должно сообщать мне, когда оно работает, хотя оно не отображается.
5 ответов
Проблема не в типе MIME, а в сценарии JS (если он находится по адресу http://orca.st.usm.edu/
Закрывающие скобки отсутствуют, посмотрите на closeMenu ():
У меня была проблема с тем же описанием, что и у автора вопроса.
Но в моем случае файл js не перечитывался с диска. Первоначально мой js-файл был пуст, когда я начал тестировать структуру HTML. Позже, когда я добавил код в файл js, открытое окно браузера не перечитывало файл js даже после «обновления» браузера.
Файл js был там, он был в том же каталоге, но содержимое файла было кэшировано в памяти в браузере. Я видел сообщение об этом где-то в отладчике Google, но я не могу найти это сообщение снова. В сообщении говорилось, что файл HTML кэширован на диске, а файл js — кэширован в памяти.
HTML-файл обновлялся, когда я нажимал кнопку обновления браузера, но js-файл не обновлялся и по-прежнему показывался пустым во вкладке «sources» при первоначальном запуске страницы до добавления js-контента.
Чтобы исправить, я закрыл окно браузера, открыл новое окно браузера, и все стало работать правильно. В новом окне перечитайте скрипт js с диска.
Обратите внимание, что ваш сервер возвращает MIME-тип, отличный от указанного в вашем источнике HTML:
Проверьте, например, консоль Firefox, есть ли ошибки при загрузке этого js-файла (и опубликуйте их). Возможно, файл загружен, но содержит ошибки, которые не позволяют увидеть предупреждение
Если у вас нет ошибок, таких как ответ выше, и вы используете веб-хостинг . 1. Войдите в панель управления и проверьте, существует ли файл там.
Я столкнулся с той же проблемой, я использовал ftp (winSCP) для загрузки своих файлов, когда я внес изменения и даже изменил имена файлов, я столкнулся с той же проблемой, но когда я пошел в панель управления (файловый менеджер), все изменения, которые я был создание через winSCP не отражалось, затем я загрузил все через панель управления, все стало работать нормально.
Источник
Не подключается JS файл к html?
Доброго времени суток, у меня вопрос по поводу JS. Хочу подключить JS, простой дождь на главной странице. Но вот проблема, подключить то подключил, а вот почему он не показывается? Да и вообще никакие JS не показываются. В настройках браузера включено.
Вот строка подключения:
- Вопрос задан более трёх лет назад
- 2124 просмотра
простой дождь на главной странице.
Это просто всевышний не позволяет вам совершить роковую ошибку.
Ну быть может вариант, а почему у меня вообще скрипты не работают то?
Вот подключены в HTML:
Ни один из них не работает.
Тут не просто надо скрипт подключить и всё, а ещё подумать чуть-чуть головой и посмотреть хотя-бы, что в самом js файле написано =) Дальше в html пишем после подключения всех скриптов, еще 1 скрипт на подключение самого эффекта к странице(background), что-то типо того:
Если не заработает, поработай с css, назначь body background туже картинку, что в скрипте.
Желаю удачи.
Источник
Внешний javascript не работает?
Я только начал изучать javascript около 30 минут назад. Я провожу онлайн-курс, и они дали мне этот код в качестве примера. Человек на видео сделал точно то же самое, но это работает только для меня, когда я делаю inline, а не external. Мое имя .js правильно, и они находятся в одной папке.
Для меня ничего не появляется. Я перепробовал все, чтобы заставить его работать, включая различные браузеры. Может быть, это мой компьютер или я просто ошибся?
2 ответа
Это простой букмарклет javascript, который захватывает заголовок, url и выбранный текст. Чтобы убедиться, что он идеально захватывает название(только название) Мне пришлось сделать этот букмарклет длинным. Это прекрасно работает, если я редактирую букамрклет вручную. Его слишком долго.
У меня есть следующий код: и это работает, но когда я создаю.
Похоже, что ваши цитаты недействительны :’) Хороший ход для начинающих! Но это будет простое решение. Обратите внимание на “ должно быть «, это обычно происходит при копировании и вставке кода!
Также убедитесь, что ваш путь и имя файла указаны правильно?! cripts.js звучит так, как будто это должно быть scripts.js
Ошибка новичка, которую я совершил, заключалась в использовании тегов во внешнем файле javascript. От HTML, если вы используете:
Тогда внешний файл js должен содержать только такой код, как:
без тегов скриптов. Это не похоже на ссылку на внешние файлы css, которые включают теги .
Похожие вопросы:
Я пытаюсь использовать внешний файл JavaScript, чтобы записать Hello World на страницу HTML. Однако по какой-то причине это не работает, я попробовал ту же функцию и команды inline, и это сработало.
Я пытаюсь переместить все мои jquery во внешний файл, но он не работает. Я вызываю внешний файл после всего остального, но функции jquery не работают. Я думаю, что это может быть потому, что у меня.
Итак, у меня есть эта действительно странная ошибка. Я пытаюсь связать внешний файл JS с моим файлом HTML. Что бы я ни делал, функции в этом внешнем файле JS не могут быть вызваны. Это мой код HTML.
Это простой букмарклет javascript, который захватывает заголовок, url и выбранный текст. Чтобы убедиться, что он идеально захватывает название(только название) Мне пришлось сделать этот букмарклет.
Источник
Внешние файлы JS не распознают элементы в html
Вероятно, это самая странная вещь, с которой я столкнулся при программировании на JavaScript, и я не могу найти решения где-либо в Интернете.
Таким образом, все, что я сделал, это создал HTML-документ и JS-файл, который внешне связан с ним. Когда я пытаюсь сослаться на элемент со страницы в файле JS, он ничего не делает, и в консоли нет ошибок. Вот пример:
Это прекрасно работает в скрипке, но на моей машине это не так. Также пробовал хостинг на Google Drive, ничего. Я открыл его на другом компьютере, нада. Вот живая страница:
3 ответа
Как это ведет себя, если вы определяете HTML, как показано ниже:
На самом деле рекомендуется включать собственный JavaScript после тела документа. В дополнение к решению вашей проблемы, HTML будет отображаться на странице до завершения выполнения JavaScript.
Если scripts.js использует jquery, вам нужно загрузить jquery перед загрузкой scripts.js
У вас есть две отдельные проблемы:
Сначала вы должны загрузить jQuery перед вашим скриптом, чтобы он был доступен при запуске вашего скрипта. Итак, измените порядок ваших двух тегов сценария, чтобы исправить эту проблему.
Ваш скрипт не может быть запущен, пока DOM не будет загружен. Когда вы запускаете его в теге , он запускается ДО загрузки DOM, и, таким образом, страница в этот момент пуста, поэтому ваш код не может найти подходящие элементы для установки обработчиков щелчков. Есть несколько способов решить эту проблему. Самое простое — переместить все ваши теги сценария прямо перед
Источник
Почему не работают скрипты из внешнего файла?
Решается проблема помещением js-скриптов прямо на страницу шаблона php, но не думаю, что так задумано) Кто-нибудь сталкивался с подобным?
Вторая проблема — очень тяжело доходят обновления стилей и разметки, постоянно приходится чистить кэш браузера. Это нормально, или с этим можно как-то бороться?
Евгений Вольф: Да, именно для таких целей он там и есть. Впрочем, можно на дев-сервере решить проще:
Как я уже говорил, четвертый параметр вызова данной функции — это как раз то, что будет передано в параметр script.js?v=X
Скину скрипт, который я обычно пишу для подключения
У тебя не хватает wp_register_style и wp_enqueue_script перед включением таблицы и скриптов. Скорее всего дело в этом. Следующий момент может быть что нужно стандартный jquery заменить на свой.
1. wp_print_styles не стоит использовать для enqueue уже 5 лет как, с версии 3.3 это чревато конфликтами. https://make.wordpress.org/core/2011/12/12/use-wp_.
2. — wp_register_style необходимо вызывать в хуке wp_enqueue_scripts, иначе могут возникать проблемы — https://core.trac.wordpress.org/ticket/17916
3. $path = get_bloginfo(‘template_directory’) . «/» — зачем такая конструкция? get_template_directory_uri() создана специально для этого.
4. wp_deregister_script(‘jquery’); — сколько переговорено на эту тему. Вы экономите на спичках, а конфликты у других плагинов с этим бывают. Иногда грузится 2 версии сразу — и родная, и ваша. Иногда плагины просто не видят вашу. Сейчас уже все реже такое происходит, но это есть. Смысл замены jQuery?
5. «У тебя не хватает wp_register_style» — в этом нет необходимости, wp_enqueue_* регистрирует сам, см. документацию и код функции. «Registers the style if source provided (does NOT overwrite) and enqueues.»
Это краткий code review без вникания в детали. Вердикт — сильно устаревший подход, применяемый без оглядки на корректное использование API ядра к месту и по сути, с потенциальными гарантированными проблемными местами.
Кроме того, использование одной и той же nonce через ‘nonce’ => wp_create_nonce(‘myajax-nonce’), является опасным решением с точки зрения безопасности. Пока оно используется в реальности для 1-2 вызовов каких-то похожих, типа подгрузки постов при скролле — проблемы не будет. Как только функционал растет, и действия на аякс-хуках выполняют разные вещи и требуют разных прав, использование одной nonce может быть опасным.
Источник