Valums文件上传器:如何从0以外的ID开始?

时间:2012-04-26 20:52:12

标签: javascript

我正在使用Andrew Valums' Ajax Upload pluginGitHub link)。以下是一些代码:

qq.getUniqueId = (function(){
    var id = 0;
    return function(){ return id++; };
})();

这是一个很长的故事,但是在某种情况下,我希望qq.getUniqueId函数以0以外的ID开头。它仍然可以增加1;它只需从0以外的东西开始。最好的方法是什么?

以下是创建测试环境的步骤:

  1. 下载插件:http://github.com/valums/file-uploader/zipball/master

  2. 解压缩并将“client”文件夹移动到网络服务器上。

  3. 在文本编辑器中打开“demo.htm”文件,搜索action: 'do-nothing.htm',并在此之后添加onComplete: function(id, fileName, responseJSON) {alert(id)},

  4. 在网络浏览器中打开“demo.htm”文件。一定要通过Web服务器访问它(而不是只打开本地文件),否则它将无法工作。

  5. 上传文件。它应该在上传完成后提醒“0”。看看你是否可以修改它,以便我可以传入不同的起始编号。

  6. 谢谢!

1 个答案:

答案 0 :(得分:0)

尝试用调用原始函数的函数替换该函数,但添加偏移量:

function offsetUniqueId(n) {
   var old = qq.getUniqueId;
   qq.getUniqueId = function() {
       return old() + n;
   }
}

请参阅http://jsfiddle.net/alnitak/gWjqX/