Tengo un pequeño trozo de código que no consigo hacer funcionar. Estoy construyendo un sitio web y usando JavaScript por primera vez. Tengo mi código JavaScript en un archivo externo 'Marq_Msg.js' que se parece a esto:
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]);
}
y en mi archivo HTML 'Index.html' estoy intentando llamarlo así:
<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>
El 'logo' div es una pieza de CSS que I'm tratando de marquee dentro de. Si pongo el código incrustado dentro de la etiqueta 'head' y lo llamo, ¡funciona perfectamente! Hay algunas otras cosas que me gustaría hacer con este código (como espaciar un poco los mensajes) pero no puedo conseguir que el código funcione en primer lugar. I've también trató de añadir:
<script src="Marq_Msg.js"></script>
en la etiqueta 'head' con una llamada separada, que fue un no ir. También he intentado en su lugar utilizando:
<script type="text/javascript" src="Marq_Msg.js">scroll_messages()</script>
Diablos, incluso tuve la función de tratar de devolver una cadena (incluso hardcoded un simple "hola" para ser devuelto), pero que no funcionó, ya sea con y sin el 'tipo':
//Marq_Msg.js
function scroll_messages()
{
return "hello";
}
//index.html
<script type="text/javascript" src="Marq_Msg.js">document.write(scroll_messages())</script>
¿Qué me falta? ¡¡Cualquier ayuda sería muy apreciada!! He buscado por todo Google, y cada sitio que encuentro quiere hacerlo usando algún 'formulario'. Yo sólo quiero que los mensajes se muestren a través, sin formulario alguno.
Si un <script>tiene un
src` entonces el contenido del texto del elemento no se ejecutará como JS (aunque aparecerá en el DOM).
Es necesario utilizar varios elementos de script.
un <script>
para cargar el script externo
un <script>
para contener tu código inline (con la llamada a la función en el script externo)
En términos de Layman, es necesario incluir el archivo js externo en su archivo HTML & a partir de entonces usted podría llamar directamente a su método JS escrito en un archivo js externo de la página HTML. Siga el fragmento de código para la penetración:-
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")
}
Resultado: []