我在从其他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文件中执行它,它可以正常工作。但我不希望它在每一页都执行。
答案 0 :(得分:1)
外部Javascript文件只执行代码;代码不知道它来自何处。
只要您的代码在外部JS文件之后运行,它就可以正常工作。
答案 1 :(得分:1)
如果在函数中声明带有var
的变量,则该变量对于该函数是本地的,并且不能从该函数外部访问。要使其显式为全局,请将其声明为window
:
window.addEvent('domready',function(){
window.Site = ...
这不是代码工作所必需的,它只是让那些可能会读取Site
全局的代码的程序员明白。