判断目标是否是window,document,和拥有tagName的Element的代码

时间:2024-04-16 08:46:46 


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;
}


需要充分测试

标签:目标,window,document
0
投稿

猜你喜欢

  • Python复制文件操作实例详解

    2023-10-22 19:15:29
  • 关于python并发编程中的协程

    2023-10-18 04:37:44
  • vue指令只能输入正数并且只能输入一个小数点的方法

    2024-06-05 09:20:44
  • 分享一个简单的python读写文件脚本

    2022-11-21 20:03:00
  • python 操作 mongodb 数据库详情

    2024-01-19 17:53:45
  • python原类、类的创建过程与方法详解

    2023-01-26 06:59:27
  • Python列表删除的三种方法代码分享

    2022-10-26 19:13:35
  • OpenCV立体图像深度图Depth Map基础

    2021-09-23 22:12:59
  • Pytorch中torch.unsqueeze()与torch.squeeze()函数详细解析

    2022-05-22 00:41:57
  • opencv实现矿石图片检测矿石数量

    2021-08-26 02:17:39
  • bootstrap选项卡使用方法解析

    2024-04-16 09:13:11
  • Python操作列表常用方法实例小结【创建、遍历、统计、切片等】

    2021-07-26 12:56:49
  • 如何过滤中国站长站(chianz)文章干扰码

    2008-01-04 20:14:00
  • 微信小程序实现页面跳转传递参数(实体,对象)

    2023-08-09 06:30:20
  • vue如何使用router.meta.keepAlive对页面进行缓存

    2024-05-29 22:49:03
  • python多线程并发实例及其优化

    2021-04-03 12:28:11
  • 初学python数组的处理代码

    2023-10-14 19:30:19
  • Yii2 rbac权限控制之菜单menu实例教程

    2023-11-14 10:41:19
  • Python中__init__和__new__的区别详解

    2023-09-24 13:14:17
  • python关于多值参数的实例详解

    2023-11-05 21:43:35
  • asp之家 网络编程 m.aspxhome.com