jQuery使用一个.js文件执行不同操作的不同页面

时间:2009-02-07 11:50:49

标签: jquery scripting

我的不同网站的网页应该只加载一个.js文件进行缓存优化。 加载文件时出现问题。它将每个页面上的监听器应用于表单元素(例如),因此,只有最后一页的表单就像它应该的那样,其他页面不会导致它们的操作被覆盖。

所以我的问题是,我怎么能说这个脚本只适用于这个站点的重要监听器。

我正在使用jQuery框架。

3 个答案:

答案 0 :(得分:4)

您对浏览器进行优化的尝试与您不同的逐页行为相冲突。我不会把它全部塞进一个js文件中。考虑可维护性,模块化。

您可以将公共/共享代码放入一个js文件中,并将其包含在所有页面中。浏览器仍会将其全部缓存,如果仅检查自上次获取后是否已修改,则只需要发出额外请求。但至少你的理智仍将受到控制。

但无论如何,这是答案:

第1页:

<body id="page1">...</body>

第2页:

<body id="page2">...</body>

等。当您将行为附加到第1页时,现在在monster.js中:

$(document).ready(function() {
    if(this.body.id != 'page1')
        return;

    // proceed as before
})

对于将行为附加到第2页元素的部分相同:

$(document).ready(function() {
    if(this.body.id != 'page2')
        return;

    // proceed as before
})

答案 1 :(得分:2)

您可以按body#idOne JS File for Multiple Pages

划分特定于页面的逻辑

答案 2 :(得分:0)

使用简单的ID(例如“page1”和“page2”)将每个页面包装在不同的div中。然后在你的javascript中使用ids抓取元素:

$('#page1 div').show();
$('#page2 div').hide();

这将显示第1页上的所有div并在第2页上隐藏它们。