2010-05-29 21 views
7

In generale ... Come posso effettuare una chiamata su una funzione di un file di script java esterno?Chiamare una funzione di un file javascript esterno

più specifiche ...

  • Nel tag testa ho

<script type="text/javascript" src="JScript/FontSize.js"></script>

  • Il javascript file esterno, (che vorrei chiamare) FontSize.js contiene le seguenti funzioni.

    function checkCookie() 
    
    function setCookie(c_name, value, expiredays) 
    
    function getCookie(c_name) 
    
    function increaseFontSize() 
    
    function decreaseFontSize()` 
    
  • I FontSize.js si trova nella directory ~/Jscript/

Credo che il corpo del carico dovrebbe contenere qualcosa come

<body onload="/JScript/Fontsize.js/checkCookie()">

Naturalmente niente funziona come dovrebbe perché, non so come effettuare la chiamata a una funzione su un file js esterno

risposta

13

Basta chiamare come se fosse locale :)

<body onload="checkCookie()"> 

Oppure, lo fanno nello script:

window.onload = checkCookie; 

Quando si dichiara una funzione e non è in un altro oggetto/spazio dei nomi, è solo globalmente disponibile, e puoi chiamarlo come se precedesse immediatamente il tuo codice attuale. Per impostazione predefinita, queste funzioni si trovano sull'oggetto window, you can see a short demo here.

Per esempio (non importa dove definito, esterni o meno di questa funzione):

function myFunc() { alert('hi'); } 
myFunc(); 
window.myFunc(); //same call, unless there's *another* myFunc in a local-er scope 
+0

Con Firebug ho checkCookie non è definito errore – OrElse

+0

@strakastroukas - Sei sicuro che il relativo il percorso verso il tuo file esterno è corretto, ad es Visualizza -> Sorgente della pagina, fai clic sul suo collegamento, viene visualizzato correttamente? Per il tuo codice attuale, la tua pagina dovrebbe essere al livello '~/Page.htm'. –

+0

E 'stato! L'ho modificato in (Aggiunto il ../ al percorso) – OrElse

1
<html> 
     <head> 
      <script type="text/javascript" language="javascript" src="main.js"></script> 
     </head> 
     <body> 

    <!--The extranal main.js file contains samp() function.. --> 
      <script> 
       <!-- samp(); --> 
      </script> 
     </body> 
    </html> 
Problemi correlati