我读过几篇文章说不建议在页面中放置javascript代码。
我想听听你的意见。 如何处理特定于该页面的代码?
在我的 Project.cshtml 中,我有:
<script type="text/javascript">
$(document).ready(function () {
$('.project-status').parent('a').click(function (e) {
e.preventDefault();
DoSomething();
});
});
</script>
拥有 myfunctions.js 文件:
function DoSomething() {
alert('test')
}
在我项目的每一页上,这种情况都会重演。
您创建一个文件.js
并将所有页面的所有javascript放在那里?
或者每页制作一个文件,并在页面上引用该文件?
或者在页面本身中放置特定于页面的js代码?
我有这个问题因为我遇到了以下问题:
在我的申请中,我有:
Project.cshtml
点击链接后,通过ajax将页面 ProjectPhotos.cshtml 加载到div#photos
问题是在我的页面 ProjectPhotos.cshtml 上有脚本:
<script type="text/javascript">
$(document).ready(function () {
$('.project-status').parent('a').click(function (e) {
e.preventDefault();
DoSomething();
});
});
</script>
由于此页面是通过ajax加载的,因此该脚本不会出现在HTML标记中。
如果此脚本位于单独的JS文件中,请单击该链接,我可以动态加载该文件。
谢谢大家的帮助!
答案 0 :(得分:2)
这取决于。如果脚本相当小,将文件连接成一个更好是因为减少了连接数(浏览器通常只使用几个连接)。
但是如果脚本很大,并且所有页面都不需要脚本,那么最好将其拆分。但最好每页只有一个文件。
在浏览器中尝试这两个选项并禁用/清空缓存并测试...
答案 1 :(得分:0)
可能最好的方法是将所有内容放在一个文件中,原因有两个。一次维护更容易,只有一个脚本可以处理而不是搜索七个。第二,一旦加载了脚本,它就会被缓存。这意味着它已准备好用于所有其他页面。假设你没有对每个页面来说都很大的脚本,那么开销并不是那么多。