location对象的属性有:
属性 描述 返回值举例
hash 设置或返回从井号 (#) 开始的 URL(锚)。 #id001
host 设置或返回主机名和当前 URL 的端口号。 www.example.com:8080
hostname 设置或返回当前 URL 的主机名。 www.example.com
href 设置或返回完整的 URL。 http://www.example.com:8080/html/index.html?name=aa&age=23#id001
pathname 设置或返回当前 URL 的路径部分。 html/index.html
port 设置或返回当前 URL 的端口号。 8080,如果是默认80端口,返回空字符
protocol 设置或返回当前 URL 的协议。 http
search 设置或返回从问号 (?) 开始的 URL(查询部分)。 ?name=aa&age=23
location对象的方法:
assign() 加载新的文档。
reload() 重新加载当前文档。
replace() 用新的文档替换当前文档。
History 对象
History 对象包含用户(在浏览器窗口中)访问过的 URL。
History 对象是 window 对象的一部分,可通过 window.history 属性对其进行访问。
注释:没有应用于 History 对象的公开标准,不过所有浏览器都支持该对象。
History 对象属性
属性 | 描述 |
---|---|
length | 返回浏览器历史列表中的 URL 数量。 |
History 对象方法
方法 | 描述 |
---|---|
back() | 加载 history 列表中的前一个 URL。 |
forward() | 加载 history 列表中的下一个 URL。 |
go() | 加载 history 列表中的某个具体页面。 |
History 对象描述
History 对象最初设计来表示窗口的浏览历史。但出于隐私方面的原因,History 对象不再允许脚本访问已经访问过的实际 URL。唯一保持使用的功能只有 back()、forward() 和 go() 方法。
例子
下面一行代码执行的操作与单击后退按钮执行的操作一样:
history.back()
下面一行代码执行的操作与单击两次后退按钮执行的操作一样:
history.go(-2)
启动定时器:
window.setInterval(Method,Time)
Method是定时调用的js方法
Time是间隔时间,单位是毫秒
取消定时器:
clearInterval(Method);
那么问题来了。用 clearInterval(timerid);来清除,往往不能马上停止,用什么方法比较好解决?
优化方案如下
var timeout = false; //启动及关闭按钮
function time()
{
if(timeout) return;
Method();
setTimeout(time,100); //time是指本身,延时递归调用自己,100为间隔调用时间,单位毫秒
}
总结
一般不用setInterval,而用setTimeout的延时递归来代替interval。
setInterval会产生回调堆积,特别是时间很短的时候。