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 里放置尽量少的讯息。