在完成页面的其余部分之前,请等待下载jquery.js

时间:2014-11-25 10:39:37

标签: javascript jquery html

我想在访问我的应用的私人页面之前检查用户是否经过身份验证。 计划是在每个页面的顶部编写一个脚本,下载jquery,连接到服务器并检查连接,如果他/她没有登录,则将用户重定向到登录页面。

例如,这是private.html页面

    <script src="/js/jquery"> //put a function that will till the download is completed before  running  the liness below
    <script>
        $.ajax(ur:"/server/checkif user is logged");

     </script>   

     //other html elements

2 个答案:

答案 0 :(得分:1)

您无法通过JavaScript停止页面加载,因为资源加载和内容的执行是两个独立的事情。 (任何人都可以将整个页面下载到文件中,并且内部的脚本不会被执行。)您需要在服务器上执行身份验证和重定向。

即使您使用JavaScript检查了身份验证,然后以编程方式加载了内容,您也会遇到完全相同的问题(用户可能会劫持您的脚本并直接下载您的内容)。

答案 1 :(得分:1)

算了。 不安全且不可靠。正如其他人所提到的,在 JavaScript开始执行之前,客户端已经收到整个页面

这种身份验证应该在服务器端完成。由于您没有明确标记服务器端编程语言,因此我只能提供一个通用路由来实现此目的:

  • 首先检查客户是否已登录&#39;
  • 如果没有,请不要创建有意向这些客户显示的原始页面
  • 而是显示登录表单

重要的是 - 在这种情况下 - 私人数据甚至不会被发送到客户端,只有在它经过身份验证的情况下。