我的网页与不同的网站应该只加载一个.js文件进行缓存优化。 加载文件时出现问题。它将每个页面上的监听器应用到表单元素(例如),所以最后一页的表单就像它应该那样工作,其他的不会导致他们的操作被覆盖。jQuery不同的页面与一个.js文件不同的动作
所以我的问题,我怎么能说它应该只适用于这个网站importent听众的脚本。
我正在使用jQuery框架。
我的网页与不同的网站应该只加载一个.js文件进行缓存优化。 加载文件时出现问题。它将每个页面上的监听器应用到表单元素(例如),所以最后一页的表单就像它应该那样工作,其他的不会导致他们的操作被覆盖。jQuery不同的页面与一个.js文件不同的动作
所以我的问题,我怎么能说它应该只适用于这个网站importent听众的脚本。
我正在使用jQuery框架。
用一个简单的ID(比如“page1”和“page2”)将每个页面包装在不同的div中。然后在您的JavaScript抓住元素与ID:
$('#page1 div').show();
$('#page2 div').hide();
这将显示页面1上的所有div并隐藏它们全部在page2上。
您对浏览器进行优化的尝试与您的不同逐页行为有冲突。我不会把它全部塞入到一个js文件中。考虑可维护性,模块化。
您可以将常见/共享代码放入一个js文件,并将其包含在所有页面中。浏览器仍然会缓存所有内容,只需要检查是否自上次获取它之后修改了它,就必须提出额外的请求。但至少你的理智仍然会受到控制。
但无论如何,这里的答案:
第1页:
<body id="page1">...</body>
第2页:
<body id="page2">...</body>
等,现在在monster.js
当你连接你的行为第1页:
$(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
})
等
您可以通过body#id
划分特定页面的逻辑:尽管One JS File for Multiple Pages
不是很性感? – Thomaschaaf 2009-02-07 12:36:11