Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当方法Date.getTime和Math.Random被覆盖时,在JavaScript中生成唯一id_Javascript_Algorithm_Guid_Uuid - Fatal编程技术网

当方法Date.getTime和Math.Random被覆盖时,在JavaScript中生成唯一id

当方法Date.getTime和Math.Random被覆盖时,在JavaScript中生成唯一id,javascript,algorithm,guid,uuid,Javascript,Algorithm,Guid,Uuid,我有一个在网站上运行的脚本。当我试图生成唯一的id时,如本文所建议的,它有时会失败,因为似乎站点正在覆盖函数Date.getTime和Math.Random。 在这种情况下,有没有办法生成唯一的id 注意:我需要在服务器端使用unique,用于客户端目的,以下应该足够了: var uniqueId = (function() { var id = 0; return function() { return id++; }; })(); 哇 如果您的话是真

我有一个在网站上运行的脚本。当我试图生成唯一的id时,如本文所建议的,它有时会失败,因为似乎站点正在覆盖函数Date.getTime和Math.Random。 在这种情况下,有没有办法生成唯一的id


注意:我需要在服务器端使用unique,用于客户端目的,以下应该足够了:

var uniqueId = (function() {
    var id = 0;
    return function() {
        return id++;
    };
})();

如果您的话是真的,并且无法修复网站上的代码: 添加Jquery并调用$.now()-它将为您返回时间戳


但我90%肯定你从零开始就做错了,重新考虑你在网站上的代码

“网站正在覆盖函数Date.getTime和Math.Random”?真的吗?你在说什么样的剧本?用户脚本?还是你的图书馆?如果您创建了一个库,您可能应该假设基本环境没有太多破坏,这是脚本用户的责任。我说的是编写的脚本,我没有在这个脚本中使用任何基于
数学的库。Random
,看起来您可能在谈论Java,而不是JavaScript。如果是这种情况,您可以重新标记吗?您应该创建uuid的服务器端。那些伪造数学和日期的人(还有谁应该覆盖它?)也可以伪造任何其他方法。jQuery.now正在使用Date.getTime。现在:function(){return(new Date()).getTime();}@Anibas然后在服务器端生成它,否则您将信任客户端。