10

在JavaScript中,Date对象获得年份有getYear和getFullYear两种方法
经测试
var d=new Date;
alert(d.getYear())在IE中返回2009,在Firefox中会返回109。经查询手册,getYear在Firefox下返回的是距1900年1月1日的年份,这是一个过时而不被推荐的方法。
而alert(d.getFullYear())在IE和FF中都会返回2009。因此,无论何时都应使用getFullYear来替代getYear方法。

written by 城市过客甲

14

据我所知,如果有js在页面没有完全加载完成时,执行document.body.appendChild方法会出错导致页面全部被清除,不能正常显示,insertBefore是不被建议使用的。

其中的一种解决办法如此博文所示,将document.body.appendChild(jsNode)改为document.getElementsByTagName(‘head’)[0].appendChild(jsNode)

即把对body的appendChild操作改成对HEAD区进行

引用:http://hi.baidu.com/webria/blog/item/5aef441196ffc413b9127ba3.html

另外,仍有可能出现这个状况的时候,就只能写window.onload=function…

written by 城市过客甲 \\ tags: , ,

29

将这个问题举例以更容易理解 

如果想在www.stadin.info

使用window.open方法打开test.stadin.info,如何在test.stadin.info取得window.opener.location

只要在两边的开头都写上document.domain=”stadin.info”;

浏览器就会认为两边没有跨域的问题。如果打开一个非stadin.info结尾的网站,并试图跨域回来,那就没有这么简单的方法了。

written by 城市过客甲

27

假设我们已经有一个dom对象,其内容如
内容

在javascript中,我们为了获得title的标签和文本,一般需要这样做
var title =dom.getElementsByTagName(“title”);
alert(title[0].nodeName);//得到“title”
alert(title[0].nodeValue)的时候,FF只能获得#text,而IE只能得到null
后来查了很多资料,object text类型或者object element,本身也是一个结点
上例中“标题”不是一个简单的文本内容,而是一个文本结点
它也有自己的nodeName,只是不该也不会用到
所以应该写成:
alert(title[0].firstChild.nodeValue);//得到“标题”

另一方面,反过来想,生成一个文本的时候,也是用create_text_node方法
还使用了append_child把它添加在一个父结点下
说明它其实是一个结点,需要多使用一次firstChild

written by 城市过客甲

14

先来看一个例子 

它表示,在td上如果发生onmouseover或onmouseout事件,则执行expression给出的函数,不必在每个td上再写onmouseover和onmouseout了。

written by 城市过客甲

15

其实就是保存整个表格,也可以用这个方法保存连续若干拼起来的HTML代码

点击看看:保存整个表格

补充:这个execCommand方法的SaveAs命令在IE7下不被支持……无语

written by 城市过客甲

十二 30

用window.close()不出现提示“是否关闭本页面”的方法:

在页面最开始的javascript写上window.opener=this;
页面如果不是用window.open方法打开的,window.close就会提示,在页面最开始写上这句话,骗浏览器说是用window.open打开的,就可以顺利关闭了。

onblur(失去焦点)时根据点击的对象做不同的操作

document.activeElement即为点击的对象,我用了document.activeElement.id,也就是该对象的ID来判断点击的是保存还是取消,在点击取消时不做任何判断操作。

获得鼠标点击位置离表格边框(左边框)的水平距离

没法直接得到,先取得event.x,即鼠标点击位置离页面边框的水平距离
用以下函数获得这个表格到页面边框的水平距离,相减得到鼠标点击位置到表格左边框的水平距离
function posX(d){
var s_el=0;
el=d;
while(el){
s_el=s_el+el.offsetLeft;
el=el.offsetParent;}
return s_el};

written by 城市过客甲

十二 14

说明图 

补充:
scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置
offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置 event.clientX 相对文档的水平座标event.clientY 相对文档的垂直座标
event.offsetX 相对容器的水平坐标event.offsetY 相对容器的垂直坐标 document.documentElement.scrollTop 垂直方向滚动的值event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量

written by 城市过客甲

十一 08

最近写了很多只有IE才支持的JS代码,看了下该文,获益匪浅
Continue reading »

written by 城市过客甲