zoukankan      html  css  js  c++  java
  • javascript window对象

    1、setTimeOut和setInterval

    /*
        安排函数f(),作为未来调用的模式
        在等待了若干毫秒后调用f()
        如果函数参数没有interval,则只调用f()一次
        如果函数参数设置interval,没有设置end,则会调用f()不会停止
        如果函数参数设置interval,也设置了end,则会调用f()会在end毫秒后停止
        只有指定了f(),才会从start=0开始
    */
    function invote(f,start,interval,end){
        if(!start) start = 0;
        if(arguments.length <= 2){
            setTimeout(f,start);
        }else{
            setTimeout(repeat,start);
            function repeat(){
                var h = setInterval(f,interval);
                if(end){
                    setTimeout(function(){
                        clearInterval(h);
                    },end);
                }
            }
        }
    }

    2、浏览器定位和导航
    window对象的location的属性引用的是Location对象,它表示当前窗口显示文档的url.
    document的对象的location的属性也是引用的Location对象。
    window.location === document.location //true
    Location的对象属性有href,protocol,host,hostname,port,portname和search,分别表示url的各个部分。
    location对象的hash和search表示url中的片段标识符。
    search返回的是?之后的url
    例子:
    提取url中搜索字符串的的参数

    function urlArgs(){
        var args = {};
        var querystring = window.location.search.substring(1);
        var pars = querystring.split('&');
        for(var i=0;i<pars.length;i++){
            var pos = pars[i].indexOf('=');
            if(pos == -1){continue;}
            var name = pars[i].substring(0,pos);
            var value = pars[i].substring(pos+1);
            args[name] = value;
        }
        return args;
    }


    3、载入文档
    Location的assign()方法可以使窗口载入并显示指定url,replace也有类似的功能,但是replace会删除当前浏览的历史记录!
    除了replace和assign方法,还有一个方法是reload(),重新载入当前文档!
    使浏览器载入一个新页面的方法最传统的方法是
    location = 'http://www.baidu.com';
    如果给location设置为一个片段标识符的时候,例如:
    location = '#top';
    如果当前文档中没有Id为top的元素的时候就会跳转到当前文档的顶部!如果有则跳到当前文档指定的Id的位置!
    4、浏览历史
    window对象的history属性引用的是浏览器的历史History对象,History的对象的用来把当前的窗口的浏览器记录以列表的形式展示!
    history.length;//表示当前浏览器的历史记录的长度!
    history对象的back()和forward()表示历史记录的后退按钮!
    第三个方法go(),传入一个整数可以在历史列表中前进和后退任意长度的历史记录!
    如果窗口包含子窗口iframe时候!它的浏览记录会穿插在父窗口的历史记录中并且按照时间进行排序!这有时候会导致调用主窗口的
    前进后退的方法的时候会导致子窗口的url回到上一个地址,而主窗口不变!
    5、navigator对象
    appName: // web浏览器全称
    appVersion: // web浏览器版本信息
    userAgent: // 浏览器在USER-AGENT HTTP 头部发送的字符串
    platform : // 在其上运行的操作系统的名称
    例如:谷歌浏览器
    navigator.appName
    "Netscape"
    navigator.appVersion
    "5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36"
    navigator.userAgent
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36"
    navigator.platform
    "Win32"
    6、窗体之间的关系
    如果一个窗体包含在另一个窗体中,而后者又包含在顶级窗体中,那么该窗体就可以使用parent.parent来引用顶级窗口!top属性是一个通用的
    快捷方式,无论一个窗体被嵌套几层,它的top属性都指向包含它的顶级窗口。
    如果一个页面中有一个iframe窗口:
    例如:
    <iframe id="f1" src=""></iframe>
    var iframeContent = document.getElementById("f1");
    var childCon = iframeContent.contentWindow;//子窗体的对象
    window对象有一个frames的属性是类数组的引用,并可以通过数字和名称进行索引。
    例如:
    第一个窗体:frames[0];
    引用第一个窗体的第三个窗体
    frames[0].frames[2];
    frames[]数组对象引用的不是frame对象而是window对象!
    除了可以用数字引用还可以id或者name来进行引用
    frames['f1'] 或者frames.f1

  • 相关阅读:
    class 类添加属性
    Ajax请求数据data被JSON.stringify()的数据django解码过程
    Python之浏览器的前进或后退
    滚动条-智能等待-富文本
    Python之阶乘代码
    Python之用型号构成一个三角形代码
    C# Dictionary
    使用C#创建Windows服务
    sql取出每月最早的上报的数据
    mvc NPOI导入读取Excel文件
  • 原文地址:https://www.cnblogs.com/shizhouyu/p/4680386.html
Copyright © 2011-2022 走看看