判断目标是否是window,document,和拥有tagName的Element的代码
代码如下:
function isWindow( obj ) { if( typeof obj.closed == 'undefined' ) return false; var result = /\[object (window|global)\]/i.test( Object.prototype.toString.call( obj ) ); if( result )return result; try{ obj.closed = obj.closed; return false; }catch(e) { result = true; } return result; } function isDocument( obj ) { if( typeof obj.body == 'undefined' ) return false; var b = obj.body; try{ obj.body = null; obj.body = b; return false; }catch(e) { return true; } } function isElement( o ) { var tn = 'tagName',temp = o[tn],result; if( typeof temp == 'undefined' )return false; try{ o[tn] = null; result = ( temp == o[tn] ); o[tn] = temp; return result; }catch(e) { return true; } } function getOwnerWindow( node ) { if( isWindow( node ) )return node; var doc = isDocument( node ) ? node : node.ownerDocument; return doc.view || doc.parentWindiw || doc.defaultView; }
需要充分测试
相关推荐
boneix 2020-10-21
seanzed 2020-10-15
ifconfig 2020-10-14
学留痕 2020-09-20
往后余生 2020-09-17
kka 2020-09-14
redis 2020-09-07
lzccheng 2020-09-06
soyo 2020-08-31
stonerkuang 2020-08-18
LxyPython 2020-08-17
raksmart0 2020-08-17
Lzs 2020-08-14
MrHaoNan 2020-07-31
80530895 2020-07-05
lengyu0 2020-06-28
YarnSup 2020-06-28
huanglianhuabj00 2020-06-27