Changeset 2771

Show
Ignore:
Timestamp:
12/07/07 14:51:55 (5 years ago)
Author:
cho45
Message:

lang/javascript/jsdeferred/trunk/Rakefile,
lang/javascript/jsdeferred/trunk/binding/userscript.js,
lang/javascript/jsdeferred/trunk/jsdeferred.userscript.js:

with つかうほうがよさそう。
グローバルへエクスポートしてしまうと Safari とかでインセキュアになりそう

Location:
lang/javascript/jsdeferred/trunk
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/jsdeferred/trunk/Rakefile

    r2763 r2771  
    9090file "jsdeferred.userscript.js" => ["jsdeferred.js", "binding/userscript.js"] do |t| 
    9191        File.open(t.name, "w") {|f| 
    92                 f.puts "// Usage:: var Deferred = D().define();" 
     92                f.puts "// Usage:: with (D()) { your code }" 
    9393                f << mini(File.read("binding/userscript.js").sub("/*include JSDeferred*/", File.read("jsdeferred.js")), true) 
    9494        } 
  • lang/javascript/jsdeferred/trunk/binding/userscript.js

    r2761 r2771  
     1function D () { 
     2/*include JSDeferred*/ 
     3 
    14/* function xhttp (opts) //=> Deferred 
    25 * Cross site version of `http`. 
     
    4952http.post = function (url, data) { return http({method:"post", url:url, data:data}) } 
    5053 
    51 function D () { 
    52  
    53 /*include JSDeferred*/ 
    54  
     54Deferred.Deferred = Deferred; 
     55Deferred.http     = http; 
     56Deferred.xhttp    = xhttp; 
    5557return Deferred; 
    5658} 
  • lang/javascript/jsdeferred/trunk/jsdeferred.userscript.js

    r2763 r2771  
    22// JSDefeered (c) Copyright (c) 2007 cho45 ( www.lowreal.net ) 
    33// See http://coderepos.org/share/wiki/JSDeferred 
    4 function xhttp (opts) { 
    5         var d = Deferred(); 
    6         if (opts.onload)  d = d.next(opts.onload); 
    7         if (opts.onerror) d = d.error(opts.onerror); 
    8         opts.onload = function (res) { 
    9                 d.call(res); 
    10         }; 
    11         opts.onerror = function (res) { 
    12                 d.fail(res); 
    13         }; 
    14         GM_xmlhttpRequest(opts); 
    15         return d; 
    16 } 
    17 xhttp.get  = function (url)       { return xhttp({method:"get", url:url}) } 
    18 xhttp.post = function (url, data) { return xhttp({method:"post", url:url, data:data}) } 
    19  
    20 function http (opts) { 
    21         var d = Deferred(); 
    22         var req = new XMLHttpRequest(); 
    23         req.open(opts.method, opts.url, true); 
    24         req.onreadystatechange = function () { 
    25                 if (req.readyState == 4) d.call(req); 
    26         }; 
    27         req.send(opts.data || null); 
    28         return d; 
    29 } 
    30 http.get  = function (url)       { return http({method:"get", url:url}) } 
    31 http.post = function (url, data) { return http({method:"post", url:url, data:data}) } 
    32  
    334function D () { 
    34  
    355 
    366 
     
    195165 
    196166 
     167function xhttp (opts) { 
     168        var d = Deferred(); 
     169        if (opts.onload)  d = d.next(opts.onload); 
     170        if (opts.onerror) d = d.error(opts.onerror); 
     171        opts.onload = function (res) { 
     172                d.call(res); 
     173        }; 
     174        opts.onerror = function (res) { 
     175                d.fail(res); 
     176        }; 
     177        GM_xmlhttpRequest(opts); 
     178        return d; 
     179} 
     180xhttp.get  = function (url)       { return xhttp({method:"get", url:url}) } 
     181xhttp.post = function (url, data) { return xhttp({method:"post", url:url, data:data}) } 
     182 
     183function http (opts) { 
     184        var d = Deferred(); 
     185        var req = new XMLHttpRequest(); 
     186        req.open(opts.method, opts.url, true); 
     187        req.onreadystatechange = function () { 
     188                if (req.readyState == 4) d.call(req); 
     189        }; 
     190        req.send(opts.data || null); 
     191        return d; 
     192} 
     193http.get  = function (url)       { return http({method:"get", url:url}) } 
     194http.post = function (url, data) { return http({method:"post", url:url, data:data}) } 
     195 
     196Deferred.Deferred = Deferred; 
     197Deferred.http     = http; 
     198Deferred.xhttp    = xhttp; 
    197199return Deferred; 
    198200}