Make sure that expando properties aren't set on embed, applet, or object elements. An uncatchable exception is thrown and we must avoid it. Fixes #1675 and #2349.

This commit is contained in:
John Resig 2009-12-06 20:00:31 -08:00
parent 7d36ccfa8e
commit 5980292856
2 changed files with 17 additions and 1 deletions

View file

@ -6,7 +6,19 @@ jQuery.extend({
expando:expando,
// The following elements throw uncatchable exceptions if you
// attempt to add expando properties to them.
noData: {
"embed": true,
"object": true,
"applet": true
},
data: function( elem, name, data ) {
if ( jQuery.noData[elem.nodeNode.toLowerCase()] ) {
return;
}
elem = elem == window ?
windowData :
elem;
@ -43,6 +55,10 @@ jQuery.extend({
},
removeData: function( elem, name ) {
if ( jQuery.noData[elem.nodeNode.toLowerCase()] ) {
return;
}
elem = elem == window ?
windowData :
elem;