JavaScript — функция не определена при загрузке из внешнего файла

#javascript #function

#javascript #функция

Вопрос:

Я только начал играть с JavaScript, чтобы изучить некоторые новые вещи, но у меня проблема с функциями. Он отлично работает, когда функции находятся прямо в html-файле, но когда я пытаюсь загрузить его из внешнего файла, он говорит, что функции не определены. Можете ли вы мне помочь, пожалуйста?

 function showEurope(){
    document.getElementById('europeImage').style.display='block';
    document.getElementById('worldImage').style.display='none';
    }
    
function showWorld(){
    document.getElementById('worldImage').style.display='block';
    document.getElementById('europeImage').style.display='none';
    } 
 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <button onclick="showEurope()">Europe</button>
    <button onclick="showWorld()">World</button>
   <p>
    <img src="world.jpg" alt= "The World" id= "worldImage" style="display:none">
    <img src="europe.gif" alt= "Europe" id = "europeImage" style="display:none">
   </p> 
   <script src = "/index.js" type="text/javascript"></script>
</body>
</html> 

Комментарии:

1. для этого важна ваша файловая структура, можете ли вы поделиться этим? Я предполагаю, что вам нужно сделать src = «./index.js

2. src = "/index.js" будет работать только на сервере, если все находится на вашем локальном диске "/index.js" , замените просто "index.js" (удалите / )

3. @alex Вот и все, большое вам спасибо!

Ответ №1:

Убедитесь, что путь к файлу js относительно файла HTML указан правильно внутри src атрибута. Например, если два файла находятся в одном каталоге, то путь должен быть src = "index.js"

Ответ №2:

Предполагая, что у вас есть файл js в том же каталоге, что и файл HTML:

Удалите открывающий «/» из тега script. script src = «/index.js » тип=»текст / javascript»

Это должно быть: script src=»index.js » тип=»текст / javascript»

Работает на моей коробке 😉