2016-01-14 1 views
0

enter image description here Я новичок в JavaScript. Когда я пытаюсь выполнить следующий код, мои js-файлы не привязаны, а код JavaScript с html-страницы не выполняется: Оба файла html и JavaScript находятся на одном пути.Файл script.js, не связанный с html-файлами с атрибутом скрипта src attribute

МОЯ HTML:

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html;> 
<title>JS Code</title> 
</head> 
<body> 
    HTML 
    <script type="text/javascript" src="script.js"> 
    debugger; 
    document.write("HI i am from HTML with js code") 
    nowCall1(); 
    function nowCall1(){ 
     document.write("-Js.") 
     //peakOil(changeCivilisationCallback); 
    } 
    </script> 
</body> 
</html> 

script.js:

function peakOil(callback) { 
    document.write("HI i am from Js"); 
    callback(); // the parentheses mean the function is executed! 

} 

function changeCivilisationCallback(){ 
    document.write("HI i am from changeCivilisationCallback"); 
} 

function nowCall(){ 
    document.write("Js.") 
    //peakOil(changeCivilisationCallback); 
} 

Но когда я пытаюсь удалить атрибут экр поместить весь код в HTML скрипт работает. Почему, когда я пытаюсь поместить код в файл js, он не выполняется. Я столкнулся с проблемой при отладке в браузере Chrome Chrome.

Пожалуйста, помогите мне понять javas cript, спасибо заранее.

+0

код ошибки заполнен. Что ты пытаешься сделать? –

ответ

0

Это скорректированный JavaScript.

JS код от HTML:

document.write("HI i am from HTML with js code"); 
nowCall1(); 

function nowCall1() { 
    document.write("-Js."); 
     //peakOil(changeCivilisationCallback); 
} 

script.js:

function peakOil() { 
    document.write("HI i am from Js"); 
} 
peakOil(); 

function changeCivilisationCallback() { 
    document.write("HI i am from changeCivilisationCallback"); 
} 

function nowCall() {; 
    document.write("Js.") 
     //peakOil(changeCivilisationCallback); 
} 

В HTML вы должны добавить скрипты, таким образом:

<script type="text/javascript"> 
    //the rest of the code 
</script> 
1

если атрибут SRC присутствует в теге скрипта, содержимое тега scrip будет проигнорировано, поэтому вам нужно добавить внешний скрипт ipt в отдельном теге скрипта.

<script type="text/javascript" src="script.js"></script> 
<script type="text/javascript"> 
//code here 
</script> 
+0

Да, вы правы, Я пробовал то же самое, но мои файлы js и html находятся в одном месте, но теперь браузер дает сообщение об ошибке: «Не удалось загрузить ресурс: net :: ERR_FILE_NOT_FOUND» для моих файлов js. Из-за этого мой вызов функции от падения, потому что он присутствует в js-файлах, которые не получают нагрузку. Нужно ли мне следовать любой структуре каталогов и пути для загрузки файлов сценариев в html-файлы? –

+0

если скрипт.js-файл находится в том же месте, что и файл html, это должно быть хорошо, [вы можете немного прочитать о html-пути здесь] (http://www.coffeecup.com/help/articles/absolute-vs-relative- pathslinks /) – keja

+0

Я не знаю, почему я все еще получаю это http://i.stack.imgur.com/53oWY.jpg, я добавил изображение моей ошибки, теперь мои файлы js загружаются, но он говорит, что метод не определен , –

1

Вы должны либо ссылку на внешний файл сценария с тэгом, или написать код внутри тега, вы не можете сделать как (но, конечно, вы можете иметь более одного сценария тег).

Вы можете найти записку по этому вопросу на w3schools:

Если «ЦСИ» атрибут присутствует, <script> элемент должен быть пустым.

0

Я пропустил " после содержания = "text/html на мета-тег

С этой коррекции, что он работает нормально,

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html"> 
<title>JS Code</title> 
</head> 
<body> 
    HTML 
    <script type="text/javascript" src="script.js"></script> 
    <script type="text/javascript"> 
    debugger; 
    document.write("HI i am from HTML with js code"); 
    alert("test1"); 
    document.writeln("\ after alert"); 
    nowCall(); 
    alert("test2"); 
    </script> 
    </body> 
</html> 

Keja, спасибо он работал, с входом.

Смежные вопросы