X-Git-Url: http://git.asbjorn.biz/?p=jquery.git;a=blobdiff_plain;f=src%2Fdata.js;h=faa44f3de1f43aeab2f481afc291555f286750ae;hp=21f0e3a55f6592a1607878ecf78de444c17dfe9f;hb=7acb141ed7f2dedd950bb65acf878098640d081e;hpb=a2dbdc1f5438a857c2a9898bd36e4b2de685742e diff --git a/src/data.js b/src/data.js index 21f0e3a..faa44f3 100644 --- a/src/data.js +++ b/src/data.js @@ -63,12 +63,14 @@ jQuery.extend({ } if ( !cache[ id ] ) { - cache[ id ] = {}; + // Use a Function as the cache object instead of an Object on JS objects + // as a hack to prevent JSON.stringify from serializing it (#8108) + cache[ id ] = isNode ? {} : function () {}; } // An object can be passed to jQuery.data instead of a key/value pair; this gets // shallow copied over onto the existing cache - if ( typeof name === "object" ) { + if ( typeof name === "object" || typeof name === "function" ) { if ( pvt ) { cache[ id ][ internalKey ] = jQuery.extend(cache[ id ][ internalKey ], name); } else {