2010-10-24 3 views
3

У меня есть этот скрипт в отдельном файле Sample.js:Простейший JavaScript в мире не будет работать!

function MyPrint(text) 
{ 
document.write(text); 
} 

И у меня есть следующий HTML-страницу: «Привет глупый мир»

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 

<head> 
    <title>Silly example</title> 
</head> 
<body> 
    <div> 
     <script type="text/javascript" src="JavaScript/Sample.js"> 
      MyPrint("Hello silly world!"); 
     </script> 
    </div> 
</body> 
</html> 

Окончательный результат является то, что текст НЕ печатается на странице. Что я должен сделать, чтобы сделать эту работу? Я бы предпочел не перемещать тег сценария в голову, если это возможно. Благодарю.

+0

В каком браузере? В этом проблема с устаревшими сценариями 1990-х годов. – Manius

+3

удалите src из тега скрипта и добавьте новый. –

ответ

18

Я думаю, что тэг src переопределяет все, что внутри.

Попробуйте следующее:

<script type="text/javascript" src="JavaScript/Sample.js"></script> 
    <script type="text/javascript"> 
     MyPrint("Hello silly world!"); 
    </script> 
+7

Это тот. У вас может быть код или 'src', но не оба. – Kobi

+0

Ну, замените 'JavaScript/Sample.js' любым скриптом, а затем замените вызов MyPrint (...)' функцией. –

+0

молодец! Большое спасибо. – Boris

-1
window.onload = function(){ 
MyPrint("Hello silly world!"); 
}; 
+2

Сценарий использует 'document.write', поэтому это не будет иметь желаемого поведения. – Quentin

4

Ваш сценарий можно считать загружен после закрытия </script> элемента. Это должно работать:

<!-- just a sidenote: type="text/javascript" is the default for script as of html5 --> 
<script src="JavaScript/Sample.js"></script> 
<script>MyPrint("Hello silly world!");</script> 
0
<script type="text/javascript"> 
MyPrint("Hello silly world!"); 
</script> 
Смежные вопросы