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

 更新时间:2010年05月31日 23:28:39   作者:  
判断目标是否是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;
}

需要充分测试

相关文章

  • 8个JavaScript条件语句优化小技巧分享

    8个JavaScript条件语句优化小技巧分享

    在日常的开发中,我们经常会编写一些条件语句,过多的 if...else会导致代码难以理解和维护,今天小编来分享几个优化条件语句的小技巧,希望对大家有所帮助
    2022-07-07
  • BootStrap的双日历时间控件使用

    BootStrap的双日历时间控件使用

    这段时间看了下bootstrap的时间控件,发现使用起来还是很简单的,趁着有时间的时候整理了一下,特此分享到脚本之家平台,感兴趣的朋友参考下
    2017-07-07
  • 在JavaScript中模拟类(class)及类的继承关系

    在JavaScript中模拟类(class)及类的继承关系

    众所周知,JavaScript中没有类,然而我们却可以动手实现一个拥有继承特性的类,所以接下来我们要讨论的便是在JavaScript中模拟类(class)及类的继承关系:
    2016-05-05
  • JavaScript+Java实现HTML页面转为PDF文件保存的方法

    JavaScript+Java实现HTML页面转为PDF文件保存的方法

    借助iText这个Java库,我们可以将HTML文件保存为图片文件进而转换成PDF格式,接下来就来具体看下JavaScript+Java实现HTML页面转为PDF文件保存的方法
    2016-05-05
  • JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解

    JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解

    这篇文章主要介绍了JS实现弹出浮动窗口,可支持鼠标拖动和关闭的功能,界面美观大方,涉及javascript动态创建对话框的相关技巧,需要的朋友可以参考下
    2015-08-08
  • js工具方法弹出蒙版

    js工具方法弹出蒙版

    js工具方法弹出蒙版,需要的朋友可以参考一下
    2013-05-05
  • js的Boolean对象初始值示例

    js的Boolean对象初始值示例

    Boolean(逻辑)对象用于将非逻辑值转换为逻辑值(true 或者 false)下面为大家介绍下js的Boolean对象初始值
    2014-03-03
  • js 单引号 传递方法

    js 单引号 传递方法

    当从bean中取出的值是单引号时,加载页面就会报js错。可以使用下面的方法解决。
    2009-06-06
  • 关于js陀螺仪的理解分析

    关于js陀螺仪的理解分析

    这篇文章主要给大家介绍了关于js陀螺仪的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用js具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • JavaScript中实现跨标签页通信的方法详解

    JavaScript中实现跨标签页通信的方法详解

    跨标签页通信是指在浏览器中的不同标签页之间进行数据传递和通信的过程,这篇文章为大家介绍了一下常见的跨标签页通信方式,感兴趣的小伙伴可以了解下
    2023-11-11

最新评论