包括javascript文件

时间:2012-07-29 17:50:38

标签: javascript html

我现在正在完成我的项目,看到每页都有很多javascript代码。它不包含在“.js”文件中,而是在页面本身编码。我认为这是一个坏主意,所以现在我试图将它们全部放在一个.js文件中并将其包含在每个页面中。

我现在面临的唯一问题是:某些函数仅在某些页面上调用,并且取决于包含jquery插件。然而,并非所有页面都需要插件。

实施例: 在主页上,我需要使用City Dropbox链接Country Dropbox,因此我需要jquery的jchained.js插件。我需要使用的代码是:

$(function(){
    $("#city").chained("#country");
});

当我将此函数添加到.js文件中时,我打开一个不需要链接dropbox的页面,我在逻辑上会出错:

  

TypeError:$(“#city”)。chained不是函数

因此,如果我理解正确,为了使用.js文件,我的所有不同的函数用于不同的插件,我需要包括所有页面的所有插件?

感谢您的想法&帮助

2 个答案:

答案 0 :(得分:1)

这完全取决于代码的结构方式或当前代码的复杂程度。

立即解决方案,

  1. 为每个页面提供一个id(可能在body标签上)。
  2. 将所有代码放在一个外部JavaScript文件中。
  3. 只有在该主体元素上具有必需的id时,才执行针对该特定页面的代码。 类似的东西:

    if($('body')。attr('id')==“home”){    / *在这里添加主页JS * / }

  4. 你可以试试这个。

    如果我错了,请纠正我。

答案 1 :(得分:1)

就个人而言,我认为您不应该担心包含很多.js文件,这是Web开发的一部分。另一种选择,虽然稍微繁琐,但你可以检查存在的函数(如果包含了插件.js),然后调用它,如果它存在:

if(typeof yourFunctionName == 'function') {
    yourFunctionName();
}