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

复制代码 代码如下:

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

需要充分测试

时间: 2024-12-21 03:10:57

判断目标是否是window,document,和拥有tagName的Element的代码_javascript技巧的相关文章

window.open 以post方式传递参数示例代码_javascript技巧

复制代码 代码如下: //打开新页面并利用post方式传递参数 function openNewPageWithPostData(postAddress,opentype,paramNames,paramValues) { var newWindow = window.open(postAddress,opentype); if (!newWindow) { return false; } var postDataHtml="<html><head></head&g

用Javascript判断图片是否存在,不存在则显示默认图片的代码_javascript技巧

利用image对象的onerror事件来判断,出错则更换image对象的src为默认图片的URL.  第一种情况:图片存在,正常显示 第二种情况:图片不存在,显示默认图片 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 下面是通过js的判断用javascript判断指定图片文件是否存在: 如判断<img src="http://www.jb51.net/logos.gif">这个图片地址是否存在. 如果不存在,隔几秒重新探测此图片,如果地址有效则,提示地址有效

js判断一个元素是否为另一个元素的子元素的代码_javascript技巧

当然方法有很多,不过个人认为通过判断一个元素是否为另一个元素的子元素是最简单的实现方式之一. 废话少说直接上方法: 复制代码 代码如下: function isParent (obj,parentObj){ while (obj != undefined && obj != null && obj.tagName.toUpperCase() != 'BODY'){ if (obj == parentObj){ return true; } obj = obj.parentN

JS判断页面加载状态以及添加遮罩和缓冲动画的代码_javascript技巧

复制代码 代码如下: function initialize() { addcloud(); //为页面添加遮罩 document.onreadystatechange = subSomething; //监听加载状态改变 } function addcloud() { var bodyWidth = document.documentElement.clientWidth; var bodyHeight = Math.max(document.documentElement.clientHei

JS判断浏览器类型与版本的实现代码_javascript技巧

在众多的浏览器产品中,IE.Firefox.Opera.Safari........众多品牌却标准不一,因此时常需要根据不同的浏览器,甚至相同浏览器不同版本做不同的操作,因此,知晓浏览器的判断方法,还是很重要的.下面列举一下常用的判断方法 1.判断浏览器是否为IE document.all ? 'IE' : 'others':在IE下document.all值为1,而其他浏览器下的值为0: navigator.userAgent.indexOf("MSIE")>0 ? 'IE'

js 判断控件获得焦点的示例代码_javascript技巧

JS判断一个对象已获得焦点document.activeElement.tagName //tagName 标签名 实例:判断body获得光标时关闭输入法. 复制代码 代码如下: var act = document.activeElement.tagName.toLowerCase();   if(act.indexOf("body") != -1 || act.indexOf("html") != -1)   {    document.body.style.i

js中的window.open返回object的错误的解决方法_javascript技巧

解决window.open后返回object的错误 复制代码 代码如下: <a href="javascript:void(window.open('','','width=200,height=200'))">window.open()</a> 只在js的外层加上一个void不带返回参数的声明. 顺便在这里将window.open函数的参数使用也列出来: window.open函数参数列表 window = object.open([URL ][, name

判断JS对象是否拥有某属性的方法推荐_javascript技巧

两种方式,但稍有区别 1,in 运算符 var obj = {name:'jack'}; alert('name' in obj); // --> true alert('toString' in obj); // --> true 可看到无论是name,还是原形链上的toString,都能检测到返回true. 2,hasOwnProperty 方法 var obj = {name:'jack'}; obj.hasOwnProperty('name'); // --> true obj.

判断js对象是否拥有某一个属性的js代码_javascript技巧

复制代码 代码如下: var obj = {name:'jack'}; obj.hasOwnProperty('name'); // --> true obj.hasOwnProperty('toString'); // --> false