小编Kev*_*Man的帖子

Twitter Bootstrap Modal多事件触发

这是一个奇怪的问题,我已经搜索了一个答案,但我找不到一个适合我的代码.

编辑:此问题发生在一个沉重的Ajax页面上,页面没有刷新,Modal正在被重用.

请注意我的Javascript有点弱,所以我可能接近这个问题

在这里这里发现了类似的问题

两者都描述了我遇到的问题,但我只是更新了隐藏的调用视图.我没有绑定到按钮事件.

我定义了多个模态

    <div id="modal_small" class="modal hide fade in">
    </div>
    <div id="modal_large" class="modal hide fade in">
    </div>
Run Code Online (Sandbox Code Playgroud)

我重用这些模态.因此modal_large会在一秒钟后显示一个Create Form,然后显示一个可以从中选择的图像列表.

我使用以下脚本渲染我的模态,在视图中传递以在每个实例中显示

        function show_modal_large(href) {
            $.get(href, function (data) {
                $('#modal_large').html(data);
                $('#modal_large').modal('show');
            });
        };
Run Code Online (Sandbox Code Playgroud)

我的目标是重用这些模态.这就是我相信的问题所在

在将要显示模态的视图的"$(document).ready"中,我将此脚本称为绑定到模态的"隐藏"事件

    $('#modal_large').on('hidden', function () {
               // Make Ajax Call - THIS WORKS
    });
Run Code Online (Sandbox Code Playgroud)

因此,您可以在显示所选图像的视图上进行成像.然后打开一个模态并选择更多图像.在隐藏i上更新呼叫表单上的所选图像.

一切都很好.

问题:

第一次打开模态并关闭它时,'on hidden'事件被触发一次.第二次打开和关闭模态时,'on hidden'事件是两次调用,第三次是三次调用,依此类推.如果我去,并且使用模式的其他具有不同的"隐藏"事件隐藏的事件是某事物4周为新的隐藏事件时间,以及四个次旧隐藏事件.过了一会儿,我的系统就死了所有的ajax调用.

我错过了什么吗?我应该如何构建我的代码,这样就不会发生?

twitter-bootstrap

10
推荐指数
2
解决办法
8809
查看次数

Chrome丢失了Cookie

我在我的实时网站上收到一个错误,我在Dev环境中没有看到这个错误,而且似乎只发生在Chrome上.我已经四处寻找解决方案,我发现只有Auth cookie的问题.(我实际上在过去提出了关于chrome和auth cookie的问题),但这是不同的.

我将用户购物车存放在cookie中.我这样设置了cookie

HttpCookie responseCookie = HttpContext.Response.Cookies[CartHelper.CART];
responseCookie.PackCartCookie(vm.Cart);
Run Code Online (Sandbox Code Playgroud)

扩展方法PackCartCookie设置cookie值的方式如此

cookie.Value = HttpUtility.UrlEncode(cookieValue);
Run Code Online (Sandbox Code Playgroud)

此结果是使用以下设置存储的cookie

  • Domain = www.foo.com
  • RawSize = 230b
  • 路径= /
  • Expires =会话
  • HttpOnly = HttpOnly
  • 值=加密

当用户与网站进行交互时,似乎正在创建购物车Cookie,但它会不时丢失或丢失.当我查看Elmah错误并查看HTTP_COOKIE时,我可以看到所有其他cookie(我有其他设置方式相同,功能正常)但我没有看到购物车cookie.

由于这个问题,我不得不更改代码以更加防御.但是你可以想象购物车cookie在整个购买过程中被使用,而我在接受付款的时候我已经失败,但是当购物车消失并且没有通知用户成功购买时系统崩溃.幸运的是,我很早就抓住了这个并且退款的用户受到了影响.

我见过这个问题的用户代理

  • Mozilla/5.0(X11; Linux i686)AppleWebKit/537.36(KHTML,与Gecko一样)Chrome/29.0.1547.62 Safari/537.36
  • Mozilla/5.0(Windows NT 6.1; WOW64)AppleWebKit/537.36(KHTML,像Gecko)Chrome/29.0.1547.57 Safari/537.36
  • Mozilla/5.0(Windows NT 6.0)AppleWebKit/537.36(KHTML,像Gecko)Chrome/29.0.1547.62 Safari/537.36

cookies asp.net-mvc google-chrome

5
推荐指数
1
解决办法
3051
查看次数