2

如何为特定页面制作脚本,检查现有 cookie 以及是否存在重定向到指定页面?到目前为止,我有类似的东西,但由于某种原因它不断触发每个页面上的功能(只是为了澄清我使用 jQueryMobile):

$(document).on('pageinit',function(){
  jQuery(function($){
    if ($('body#home').length){
      if($.cookie('usr') && $.cookie('psw')){
        $.mobile.changePage("http://imes.**********.com/userpanel.php");
      }
    }
  });
});

将来我不会将名称和密码存储在 cookie 中,我知道这种方法的安全问题,我将存储生成的密钥以匹配用户 cookie 中的用户,但现在,对于测试阶段,我使用这些 cookie。

4

2 回答 2

2

您的 ID 方法本质上是好的,但测试长度是我不信任的(我对此没有任何论据,只是一种感觉)。

这就是为什么我会采用这种方法:

$("body#home").on("load", function() {
    // Eat your cookies here.
});

PS
为标签命名是没有用的,只是需要时间。浏览器从右到左读取CSS选择器(我认为JS querySelectors也是,那么PS就是基于这个假设),所以它会首先找到ID为'home'的一个元素,然后获取所有body(在这种情况下,只有一个主体,但假设您div#home在页面上有 100 个 div)并选择正确的一个。由于每个 ID 在页面上只能出现一次,因此没有必要为标签命名。

于 2013-01-24T10:16:44.683 回答
1

我不太确定您在问什么,但是如果您只想在特定页面上运行代码,您可以location.pathname尝试确定您所在的页面。

jQuery(function($){
    if ( location.pathname.indexOf( '/home' ) ){
        // ...
    }
});

这种方法比查找 dom 节点要快。此外,用户名和密码应由您的后端语言会话处理

于 2013-01-24T10:09:27.910 回答