OSDN Git Service

Version 0.6.41, fix for Opera8 & NN7.2+.
[pettanr/clientJs.git] / 0.6.x / js / core / 00_builtin.js
index 71dc2cd..6d4b1a1 100644 (file)
@@ -13,7 +13,7 @@ Function.prototype.apply || (Function.prototype.apply = function (x, y) {
                x.__apply = void 0;\r
        } else {\r
                if( x.constructor && x.constructor.prototype.__apply ){\r
-                       delete x.__apply;\r
+                       delete x.constructor.prototype.__apply;\r
                } else\r
                if( x.__apply ) delete x.__apply;\r
        };\r
@@ -36,17 +36,17 @@ Function.prototype.apply || (Function.prototype.apply = function (x, y) {
                        a = [];\r
                        for (i = 0; i < j; ++i)\r
                                a[i] = 'y[' + i + ']';\r
-                       r = eval('x.__apply(' + a.join(',') + ')');\r
+                       //r = eval('x.__apply(' + a.join(',') + ')');\r
+                       // closuer compiler 対策\r
+                       r = (new Function( 'x,y', 'return x.__apply(' + a.join(',') + ')' ))( x, y );\r
                        break;\r
        };\r
-       // delete x.__apply ? x.__apply : x.constructor.prototype.__apply ;\r
        // ie5\r
        if( x === window ){\r
                x.__apply = void 0;\r
        } else {\r
-               //delete x.__apply ? x.__apply : x.constructor.prototype.__apply ;\r
                if( x.constructor && x.constructor.prototype.__apply ){\r
-                       delete x.__apply;\r
+                       delete x.constructor.prototype.__apply;\r
                } else\r
                if( x.__apply ) delete x.__apply;\r
        };\r
@@ -155,6 +155,7 @@ window.encodeURIComponent || (window.encodeURIComponent = function (x) {
        });\r
 });\r
 \r
+// 手抜き\r
 window.decodeURI || (window.decodeURI = function (x) {\r
        return ("" + x).replace(/%(E(0%[AB]|[1-CEF]%[89AB]|D%[89])[0-9A-F]|C[2-9A-F]|D[0-9A-F])%[89AB][0-9A-F]|%[0-7][0-9A-F]/ig, function (s) {\r
                var c = parseInt(s.substring(1), 16);\r
@@ -167,7 +168,7 @@ window.decodeURI || (window.decodeURI = function (x) {
 });\r
 */\r
 \r
-// 手抜き\r
+\r
 //window.decodeURIComponent || (window.decodeURIComponent = window.decodeURI);\r
 \r
 \r