Warning:
This wiki has been archived and is now read-only.
HTML5/timers
定时器
setTimeout()和setInterval()方法允许编码人员设置基于时间的回调函数。
[NoInterfaceObject] interface WindowTimers { long setTimeout(Function handler, optional long timeout, any... args); long setTimeout([AllowAny] DOMString handler, optional long timeout, any... args); void clearTimeout(long handle); long setInterval(Function handler, optional long timeout, any... args); long setInterval([AllowAny] DOMString handler, optional long timeout, any... args); void clearInterval(long handle); }; Window implements WindowTimers;
handle = window . setTimeout( handler [, timeout [, arguments... ] ] )
设置一个时限,在timeout毫秒之后运行handler。所有arguments将直接传递给handler。
handle = window . setTimeout( code [, timeout ] )
设置一个时限,在timeout毫秒之后编译并运行code。
window . clearTimeout( handle )
清除使用handle通过setTimeout()方法设置的时限。
handle = window . setInterval( handler [, timeout [, arguments... ] ] )
设置一个时限,每timeout毫秒运行handler。所有arguments将直接传递给handler。
handle = window . setInterval( code [, timeout ] )
设置一个时限,每timeout毫秒编译并运行code。
window . clearInterval( handle ) Cancels the timeout set with setInterval() identified by handle. 清除使用handle通过#dom-windowtimers-setInterval()方法设置的时限。
每个实现了WindowTimers接口的对象都拥有一个活跃计时器列表。该列表中的每个记录由一个数字定义,其在实现了WindowTimers接口的对象的全生命周期中是唯一的。
用户提示
本章节移至另一页面
Window
接口的navigator
属性必须回传一个Navigator
接口的实例,用来标识该用户代理(客户端)的型号与状态,并允许网页将自身注册为协议/内容处理器。
interface Navigator { // 實作此接口的对象或同時實作以下的數個對象 }; Navigator implements NavigatorID; Navigator implements NavigatorOnLine; Navigator implements NavigatorContentUtils; Navigator implements NavigatorStorageUtils;
因为这个接口被分为数个接口分开定义,其他规范可以只使用Navigator
接口的一部份。
客户端标识
[Supplemental, NoInterfaceObject] interface NavigatorID { readonly attribute DOMString appName; readonly attribute DOMString appVersion; readonly attribute DOMString platform; readonly attribute DOMString userAgent; };
尽管有整个产业的努力,在某些情况下,浏览器具有某些程序错误或限制,使得作者必须绕道解决。
本小节定义了几个可以从脚本来判断用户代理属性,以用来解决这些问题。
客户端侦测应该被限制于侦测现存的浏览器版本,作者应该假设未来或是未知的浏览器版本完全符合此小节的描述。
- window .
navigator
.appName
- 回传浏览器的名称
- window .
navigator
.appVersion
- 回传浏览器的版本
- window .
navigator
.platform
- 回传平台的名称
- window .
navigator
.userAgent
- 回传完整的「User-Agent」标头
appName
回传值必须是字符串"Netscape
"或是浏览器的全名,例如:"Mellblom Browsernator
"。
appVersion
回传值必须是字符串"4.0
"或者是表达浏览器版本的详细说明的字符串,例如:"1.0 (VMS; en-US) Mellblomenator/9000
"。
platform
回传值必须是空白字符串或者是表现浏览器运行平台的字符串,例如:"MacIntel
"、"Win32
"、"FreeBSD i386
"、"WebTV OS
"。
userAgent
还传值必须是HTTP请求的「User-Agent
」标头的字符串或者是空白字符串(从未送出该表头的情形)
警告!这个 API 里的拥有的讯息若是随著用户改变,此讯息可被用来制作用户的侧写。如果具有足够的讯息,用户甚至可以被完全的识别出来。因此,这里强烈建议用户代理在这个 API 里放置尽量少的讯息。