在js文件之外调用JavaScript函数

时间:2011-03-06 13:59:58

标签: javascript html


我在从其他HTML页面调用JavaScript函数(在对象内部,在其自己的.js文件中)时遇到问题。在代码示例中,我只使用简单的Hello World函数。

    //.js file

    window.addEvent('domready',function(){

      var Site = {
        //Here I have like three other functions

        //This function I want to detect the browser version. I use MooTools for this
        detectBrowser : function(){
         if(Browser.ie){
          //Then what ever content goes here
         }
        } 
       }

       //I execute the other three functions here because they need to be called on every page
       Site.dropdownmenu();
       Site.accordion();
       Site.lightbox();
     });

我正在使用MooTools,因此我已将所有内容包含在domready函数中。
现在,我希望此cetect函数在一个页面上执行 。我试过这样的想法:

    //In the HTML file between two script tags:
    Site.alert(); 

这确实有效。任何想法?
如果我在.js文件中执行它,它可以正常工作。但我不希望它在每一页都执行。

2 个答案:

答案 0 :(得分:1)

外部Javascript文件只执行代码;代码不知道它来自何处。

只要您的代码在外部JS文件之后运行,它就可以正常工作。

答案 1 :(得分:1)

如果在函数中声明带有var的变量,则该变量对于该函数是本地的,并且不能从该函数外部访问。要使其显式为全局,请将其声明为window

的属性
window.addEvent('domready',function(){
    window.Site = ...

这不是代码工作所必需的,它只是让那些可能会读取Site全局的代码的程序员明白。