美文网首页
工作问题总结

工作问题总结

作者: 仗剑留青史 | 来源:发表于2016-12-28 18:05 被阅读0次
    • 时间格式转换

    问题描述: 把Thu Aug 18 20:38:54 CST 2016 的格式的时间转化为 yyyy-MM-dd HH:mm:ss 格式

    // 时间转换函数
    function getTaskTime(strDate) {
            if(null==strDate || ""==strDate){
                return "";
            }
            var dateStr=strDate.trim().split(" ");
            var strGMT = dateStr[0]+" "+dateStr[1]+" "+dateStr[2]+" "+dateStr[5]+" "+dateStr[3]+" GMT+0800";
            var date = new Date(Date.parse(strGMT));
            var y = date.getFullYear();
            var m = date.getMonth() + 1;
            m = m < 10 ? ('0' + m) : m;
            var d = date.getDate();
            d = d < 10 ? ('0' + d) : d;
            var h = date.getHours();
            var minute = date.getMinutes();
            minute = minute < 10 ? ('0' + minute) : minute;
            var second = date.getSeconds();
            second = second < 10 ? ('0' + second) : second;
            return y+"-"+m+"-"+d+" "+h+":"+minute+":"+second;
        };
    

    • 浏览器拦截ajax返回后的新窗口

    问题描述: ajax返回数据后,模拟点击提交表单事件打开新窗口被浏览器拦截.
    解决方案: ajax (async :false)异步改为同步,同时把操作放到ajax返回之后做.

     function queryToken() {
                FI.helper.ajax({
                    url: '/api/token.json',
                    type: 'GET',
                    async :false,
                    data: {
                        type: 'REGULAR_INVEST'
                    },
                    success: function (data) {
                        if (data.head.code == 200) {
                            //添加token到隐藏字段
                            $('#J-token').attr('value',data.body.data);
                        }
                    }
                });
                //模拟点击事件提交隐藏表单
                $('#J-invest-hidden-sub')[0].click();
            }
    
    
    • nodejs并发

    问题描述: nodejs for循环遍历时,事件流出错.因为node是异步io
    - 解决方案:
    方案1: 异步改为同步,可以用闭包解决,因为闭包执行完毕之后也不会释放内存.
    方案2: 使用eventproxy 控制并发
    方案3: 使用async 控制并发

    • 富文本转码 避免xss攻击

    问题描述: 传给后端的富文本数据,在前端传送的时候要转意处理,避免XSS攻击
    解决方案: 使用对<> 空格 / \ 等特殊字符转意处理

     function htmlEncode(str) {
                        //return $('<div/>').text(str).html().replace(/&/g, "&");
                        var dict = {
                            '&': "&",
                            '<': "<",
                            '>': ">",
                            ' ': " ",
                            '\'': "'",
                            '"': """
                        };
                        if ("string" !== typeof str) return str;
                        if (str.length == 0) return "";
                        return str.replace(/[&<> \'\"]/g, function (c) {
                            return dict[c];
                            // console.log(dict[c]);
                        });
                    },
    

    相关文章

      网友评论

          本文标题:工作问题总结

          本文链接:https://www.haomeiwen.com/subject/okoyvttx.html