Подтвердить что ты не робот

Как вызвать внешнюю функцию JavaScript в HTML

У меня есть небольшой кусок кода, который, похоже, не работает. Я создаю сайт и использую JavaScript в первый раз. У меня есть код JavaScript во внешнем файле "Marq_Msg.js", который выглядит так:

var Messages = new Array();
Messages[0] = "This is message 1";
Messages[1] = "This is message 2";
Messages[2] = "This is message 3";
Messages[3] = "This is message 4";  

function scroll_messages()
{
  for (var i = 0; i < Messages.length; i++)
        document.write(Message[i]); 
}

и в моем файле HTML "Index.html" я пытаюсь называть его следующим образом:

    <div id="logo">
        <marquee scrollamount="5" direction="left" loop="true" height="100%" width="100%">
        <strong><font color="white"><script src="Marq_Msg.js">scroll_messages()</script></font></strong>
        </marquee>
    </div>

"logo" div - это часть CSS, которую я пытаюсь выделить внутри. Если я поместил код, встроенный в тег "head" и назову его, он отлично работает! Есть еще несколько вещей, которые мне нравится делать с этим кодом (например, немного пространства сообщений), но я не могу заставить код работать в первую очередь. Я также попытался добавить:

<script src="Marq_Msg.js"></script>

в теге "head" с отдельным вызовом, это не было. Я также попытался использовать:

<script type="text/javascript" src="Marq_Msg.js">scroll_messages()</script>

Черт, у меня даже была функция, пытающаяся вернуть строку (даже жестко запрограммированную простую "привет", которая должна быть возвращена), но это не работало с типом и без него:

//Marq_Msg.js
function scroll_messages()
{
   return "hello";
}

//index.html
<script type="text/javascript" src="Marq_Msg.js">document.write(scroll_messages())</script>

Что мне не хватает? Любая помощь будет принята с благодарностью! Я просмотрел весь Google, и каждый найденный мной сайт хочет сделать это, используя некоторую "форму". Я просто хочу, чтобы сообщения отображались поперек, без прикрепленной формы.

4b9b3361

Ответ 1

Если a <script> имеет src, тогда текстовое содержимое элемента не будет выполняться как JS (хотя оно будет отображаться в DOM).

Вам нужно использовать несколько элементов script.

  • a <script> для загрузки внешнего script
  • a <script>, чтобы удерживать встроенный код (с вызовом функции во внешнем script)

      scroll_messages();

Ответ 2

С точки зрения Layman, вам нужно включить внешний файл js в ваш файл HTML, и после этого вы можете напрямую вызывать свой метод JS, написанный во внешнем файле js со страницы HTML. Следуйте фрагменту кода для понимания: -

caller.html

<script type="text/javascript" src="external.js"></script>
<input type="button" onclick="letMeCallYou()" value="run external javascript">

external.js

function letMeCallYou()
{
    alert("Bazinga!!!  you called letMeCallYou")
}

Результат: enter image description here