标签 javascript 下的文章

可以确定的是对于cookie来说肯定是不允许垮域访问的。无论是通过JS还是Server端程序来说都是如此,那么tmall.com是如何访问到taobao.com下的cookie的呢?

最近在发现使用Taobao的时候的一个小细节,于是便萌发起了写这篇文章。

当我们在 www.taobao.com 中进行登录之后,然后直接切换到 www.tmall.com 域名下,发现www.tmall.com首页的最顶部马上显示成了”您好, andyfaces“,于是便对此处的实现机制进行分析。

••••••

首先,搞明白||的意思。
1、在js里面,||运算符,比如(A||B)有个很有意思的用处:
2、系统先判断A表达式的布尔值,是真是假。如果为真,直接返回A。如果为假,直接返回B(不会判断B是什么类型)。
所以,var a=a||{},这样写的意图就是,先考虑右侧的表达式 a||{}, 根据规则,先判断a的值是否为真(也就是判断a本身是否存在),如果a本身存在,则返回a。如果a不存在,则返回后面的{}。最后再将值返回给a。这样写,虽然看着比较复杂点,但是效率高,特别是判断一些变量,属性或者是传参是否存在,如果存在就直接用,不存在,就赋予一个空变量。相当于下面的简写:

if (a) {
    var a = a; 
} else {
    var a = {}; // 将一个空对象传给 a
}

[转] http://www.zhihu.com/question/22914542

<div class="time">
    <span class="day"></span>
    <i>天</i>
    <span class="hour"></span>
    <i>时</i>
    <span class="minute"></span>
    <i>分</i>
    <span class="second"></span>
    <i>秒</i>
</div>
••••••

案例一

function countDown(obj,second){
    // 如果秒数还是大于0,则表示倒计时还没结束
    if(second>=0){
          // 获取默认按钮上的文字
        if(typeof buttonDefaultValue === 'undefined' ){
            buttonDefaultValue =  obj.defaultValue;
        }
        // 按钮置为不可点击状态
        obj.disabled = true;
        // 按钮里的内容呈现倒计时状态
        obj.value = buttonDefaultValue+'('+second+')';
        // 时间减一
        second--;
        // 一秒后重复执行
        setTimeout(function(){countDown(obj,second);},1000);
    // 否则,按钮重置为初始状态
    }else{
        // 按钮置未可点击状态
        obj.disabled = false;
        // 按钮里的内容恢复初始状态
        obj.value = buttonDefaultValue;
    }
}
<input onclick="countDown(this,30);" type="button" value="发送短信" />

案例二

var secs = 10;
function countDown(ele){
    if(secs == 0){
        ele.removeAttribute("disabled");
        ele.innerHTML="重新获取验证码";
        secs = 10;
    }else{
        ele.setAttribute("disabled", true);
        ele.innerHTML="重新发送(" + secs + ")";
        secs--;
        setTimeout(function(){
            countDown(ele);
        },1000)
    }
}
<button type="button" id="btn3" onClick="countDown(btn3)" class="btn btn-primary">立即注册</button>

$("#main").each(function(){
    var t = $(this).html();
    t = t.replace(/[\r\n]/g,"").replace(/[ ]/g,"");
    if(t == ''){
        // 如果为空
    }else{
        // 如果不为空
    }
});

String.prototype.isEmpty = function () {
  var s1 = this.replace(/[\r\n]/g, '').replace(/[ ]/g, ''),
      s2 = (s1 == '') ? true : false;
  return s2;
};

$('.list').html().isEmpty();