我最近接管了用asp.net编写的网站的开发。在开始使用之前,我花了很少的时间在Web应用程序上。由于我没有这方面的经验,我对批评犹豫不决,但我觉得这个网站的写得非常糟糕。
查看visual studio生成的以下搜索结果:
\website\js\ADMIN_userprofile.js(715):function sendInvite() {
\website\js\ADMIN_userprofilePro.js(745):function sendInvite() {
\website\js\mycontactdetails.js(466):function sendInvite() {
\website\js\mycontactdetailspro.js(466):function sendInvite() {
\website\js\mycontactrequestspro.js(676):function sendInvite() {
\website\js\mycontacts.js(239):function sendInvite()
\website\js\mycontactspro.js(240):function sendInvite()
\website\js\mygroups.js(103):function sendInvite()
\website\js\myprofile.js(715):function sendInvite() {
\website\js\myprofilepro.js(745):function sendInvite() {
\website\js\search.js(55):function sendInvite() {
\website\js\searchpro.js(55):function sendInvite() {
\website\search.js(44):function sendInvite() {
这些功能中的每一个都是相同的。有人已经复制了整个代码块,只要他们觉得另一个页面需要sendInvite()功能。在相关的.aspx页面中,通常会有一个点击的链接调用该函数,还有一些由javascript调用的隐藏弹出窗口,例如“您确定要发送邀请吗?”之类的内容。以与网站设计的其他部分一致的方式。
克隆代码很糟糕,很难维护。但是,我不知道如何让这个更好。我可以将这里的所有功能 - javascript和popup - 包装到一个设备中,我可以在需要的地方引用它吗?我已经阅读过.ascx页面的使用(在我继承的源代码中很少使用),但我不知道是否可以安全使用这些包含javascript。
答案 0 :(得分:2)
答案 1 :(得分:2)
发抖
没有什么比在整个地方重复的代码更糟糕了。
最简单的方法是将函数复制到单个js文件中,从所有其他js文件中删除代码,并确保新脚本文件包含在调用其中一个函数的任何页面中使用HTML中的脚本标记。
答案 2 :(得分:1)
是的,只需要使用方法并将其放入.js文件中,将其弹出到解决方案中的文件夹中,然后在每个.aspx页面中,您需要它,只需导入它:
<script type="text/javascript" src="<YOUR_LOCATION>"></script>