【发布时间】:2012-04-20 17:25:15
【问题描述】:
我的网页上有 javascript,但我需要对我的用户隐藏它(我不希望他们能够看到它,因为它包含一些游戏答案。)
所以我尝试使用 Jquery .load 来隐藏内容(我使用该调用从外部 js 文件加载内容)。但它无法加载。所以我尝试了ajax,它也失败了。
也许问题出在我试图加载位于我的根目录中的文件,而原始页面位于“root/public_html/main/pages”中:
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
url : "../../../secret_code.js",
dataType: "text",
success : function (data) {
$("#ajaxcontent").html(data);
}
});
});
</script>
1) 为什么我不能用ajax或load方法从根目录加载文件? 2) 还有其他方法吗?
PS:我将文件放在根目录中,因此人们无法直接从浏览器访问它...
【问题讨论】:
-
这实际上不会对您的用户隐藏任何内容,只会稍微难找。
-
@jimw 怎么样?你怎么能看到 JS 是异步加载的呢?有没有办法正确隐藏它?
-
只是一个提示,我整天都在这样做,如果你使用 .load 加载一个带有 js 的“视图部分”,只有 html 和样式脚本(如果可用)会显示在错误控制台,js本身被添加到页面标题但不容易被看到,狡猾的用户总是可以在页面上获取js。如果您想要真正的安全性,请使用 $.ajax 并维护您的“答案”服务器端,仅将需要看到的内容发送给客户端并返回客户端信息以获得下一个答案或其他任何内容
-
Adam:嗯,这取决于您何时加载它:加载后用户可以看到它——它在客户端中,所以他必须能够看到。如果您只在用户提交他的答案后才加载答案,那么这不是问题,除非他们可以回来并再次尝试知道他们错误的答案。
标签: javascript jquery