gpt4 book ai didi

javascript - 关于在 Javascript 中引用函数的问题

转载 作者:可可西里 更新时间:2023-11-01 02:03:45 26 4
gpt4 key购买 nike

问题:我有一个包含内置管理界面的 jQuery 繁重页面。管理功能仅在设置管理变量时触发。这些功能需要第二个库才能正常工作,并且仅当首次创建页面时用户是管理员时才包含第二个文件。这些功能永远不会为普通用户触发,普通用户不会获得第二个库的包含。

引用当前包含的文件中不存在的函数是否不好,即使该函数永远不会被调用? (这有意义吗 :)

伪代码:

header:(注意不包含 admin.js)

<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="user.js"></script>

script.js:(引用管理函数但无法执行)

admin = false; // Assume this

$(".something").dblclick(function(){
if(admin)
adminstuff(); // Implemented in admin.js (not included)
else
userstuff();
});

想法:我想可以为用户和管理员使用两个单独的文件,但我觉得这将是一个过于复杂的解决方案(不想维护两个只有几行差异的大文件)。我在此文件中包含对 admin 函数的引用的唯一原因是我需要将其附加到作为脚本一部分刷新的页面元素。当 jQuery 刷新页面时,我需要将函数重新附加到交互元素。

问题:我想让事情变得非常简单,如果用户不使用它们,我就不必包含文件。这是执行此操作的好方法还是我应该走另一条路?

最佳答案

代码应该没有错误地运行,因为没有实现的管理函数将不会被调用。唯一真正被浪费的是传输未使用的管理代码的带宽。

但是,让我告诫不要通过模糊来实现安全。如果用户查看此代码并看到有他们无法访问的管理功能,他们可能会好奇并尝试下载“admin.js”文件并查看这些功能的作用。如果阻止执行管理功能的唯一障碍是停止包含该文件,那么一些狡猾的用户可能会在他们不应该调用管理功能时迅速找到调用管理功能的方法。

如果您已经对管理函数调用进行了服务器端身份验证/权限检查,请忽略我之前的段落:-)

关于javascript - 关于在 Javascript 中引用函数的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/936580/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com