0

jQuery 总是在 url 的末尾附加 2 个 GET 变量,如下所示:

callback=jQuery172010710813803598285_1362438925287&_=1362438934989

但是他们如何计算这些数字呢?我发现最后 2 个数字的前 10 个符号是当前时间戳,但我无法弄清楚最后 3 个数字代表什么。或者第一部分是如何创建的。有谁知道这个?

谢谢!

4

2 回答 2

0

通过使用一些尝试提供尽可能多的随机和唯一数字的功能。诸如uniqid()Link)功能之类的东西。

于 2013-03-08T20:43:47.870 回答
0

它是使用这个创建的:

jsonpCallback: function() {
    var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( ajax_nonce++ ) );
    this[ callback ] = true;
    return callback;
}

首先,它会尝试使用以前使用过的回调(如果存在)。如果没有,那么它使用jQuery.expando(在初始化 jQuery 时计算出的位置和"jQuery" + ( core_version + Math.random() ).replace( /\D/g, "" )位置+ "_" + ( ajax_nonce++ )。这确保了一个唯一的回调名称,无论您发送请求的速度有多快。ajax_nonce$.now()

考虑到这一点,我可以假设您使用的是 jQuery 1.7.2 并且需要更新,:p

于 2013-03-08T21:01:14.517 回答