判断目标是否是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