Window对象

  1. setTimeout()、clearTimeout:用于设置,取消单次执行指定操作的函数;setInterval(),clearInterval():用于设置、取消每隔指定时间执行指定操作的函数。

    成都创新互联专注于企业全网整合营销推广、网站重做改版、黑龙江网站定制设计、自适应品牌网站建设、成都h5网站建设购物商城网站建设、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为黑龙江等各大城市提供网站开发制作服务。

  2. Window对象的location属性引用的是Location对象,它表示该窗口中当前显示的文档的url,并定义了方法用来使窗口载入新的文档, window.location===document.location,总是返回true。

  3. 解析URL:Location对像的href属性是一个字符串,它包含Url的完整文本。Location对象的toString()方法返回href属性的值,因此在隐式调用toString()的情况下,可以使用location代替location.href。这个对象的protocol,host,hostname,pathname和search,分别表示URL的各个部分。他们成为“URL分解属性。hash属性返回URL中的“片段标识符”部分。search属性页类似,它返回的是问号之后的url,这部分通常用是某种类型的查询字符串。一般来说,这部分内容是用来参数url并在其中嵌入参数的。虽然这些参数通常用于运行在服务器上的脚本,但在启用javascript的页面中当然也可以使用它们。

#的含义:#代表网页中的一个位置。其右面的字符,就是该位置的标识符。比如,

http://www.example.com/index.html#print

    就代表网页index.html的print位置。浏览器读取这个URL后,会自动将print位置滚动至可视区域。

    为网页位置指定标识符,有两个方法。一是使用锚点,比如,二是使用id属性,比如

    http请求不包括#:,#只是用来指导浏览器动作的,对服务器完全无用,索引http请求不包括#比如,访问下面的网址,

    http://www.example.com/index.html#print

    浏览器实际发出的请求是这样的:

        GET /index.htmlHTTP/1.1

        Host:www.example.com

    可以看到,只是请求index.html,根本没有"#print"的部分。

    如果只改变#后面的内容,浏览器不会触发页面重载,但会改变浏览器的访问历史

    每一次改变#后的部分,都会在浏览器的访问历史中增加一个记录,使用"后退"按钮,就可以回到上一个位置。

    这对于ajax应用程序特别有用,可以用不同的#值,表示不同的访问状态,然后向用户给出可以访问某个状态的链接。

    值得注意的是,上述规则对IE 6和IE 7不成立,它们不会因为#的改变而增加历史记录。

    window.location.hash这个属性可读可写。读取时,可以用来判断网页状态是否改变;写入时,则会在不重载网页的前提下,创造一条访问历史记录。

    eg:以http://www.qdweb.com/templete/baidujs.html?id=2#s=1为例

    console.log(location.href);

    console.log(location.toString());

    console.log(location.protocol);

    console.log(location.host);

    console.log(location.hostname);

    console.log(location.pathname);

    console.log(location.search);

    console.log(location.hash);

    输出结果为:

http://www.qdweb.com/templete/baidujs.html?id=2#s=1qwzn1.js:113

http://www.qdweb.com/templete/baidujs.html?id=2#s=1qwzn1.js:114

http: qwzn1.js:115

www.qdweb.com qwzn1.js:116

www.qdweb.com qwzn1.js:117

/templete/baidujs.html qwzn1.js:118

?id=2 qwzn1.js:119

#s=1

   对url路径进行解析的函数

/**

 * 将路径解析为键值对

 * @return {[对象]} [返回解析后的键值对对象]

 */

         function urlArgs(){

         var args={};

         varquery=location.search.substring(1);

         varpairs=query.split("&");

         for (var i = 0; i

                   varpos=pairs[i].indexOf('=');

                   if(pos==-1){

                            continue;

                   }

                   varname=pairs[i].substring(0,pos);

                   varvalue=pairs[i].substring(pos+1);

                   value=decodeURIComponent(value);//对value值进行解析

                   args[name]=value;

         };

         return args;

}

Location对象的assign()方法可以使窗口载入并显示你指定的URL中的文档。replace()方法也类似,但它在载入新文档之前会从浏览历史中把当前文档删除。如果脚本无条件地载入一个新文档,replace()方法可能是比assign()方法更好的选择。否则,“后退”按钮会把浏览器带回到原始文档,而相同的脚本则会再次载入新文档。

此外还有reload()方法,使浏览器重新载入当前文档。

4.浏览历史:History对象用来把窗口的浏览历史和文档状态列表的形式表示。History对象的length属性表示浏览历史列表中的元素数量,但出于安全因素,脚本不能访问已保存的URL。

    History对象的back()和forward()方法与浏览器的“后退”和“前进”按钮一样:他们使浏览器在浏览历史中前后跳转一格。

    go()方法接受一个整数参数,可以再历史列表中向前(正整数——或向后(负整数)跳过任意多个页。

    如果窗口包含多个子窗口(比如