javascriptBOM(6)

x33g5p2x  于2021-08-23 转载在 JavaScript  
字(3.0k)|赞(0)|评价(0)|浏览(190)

七 BOM

7.1window 对象

  • BOM 的核心是 window对象表示浏览器的一个实例;
  • window对象即使Globle对象(全局作用域)又是浏览器窗口的一个接口;
  • 全局变量不能通过 delete 操作符删除,而 window 对象定义的属性可以;

全局变量

        var name = "憨憨";
        function callName(){
            console.log(this.name);
        };
        console.log(window.name);//憨憨
        callName();//憨憨
        window.callName();//憨憨
  • resizeTo() 接收浏览器窗口的新宽度和新高度;
  • resizeBy() 接收新窗口与原窗口的宽度和高度之差;
  • moveTo() 接收的是新位置的 x 和 y 坐标值;
  • moveBy() 接收的是在水平和垂直方向上移动的像素数;
  • window.open() 导航一个特定的 URL或者打开一个新的浏览器窗口;

超时调用

//设置超时调用
var timeoutId = setTimeout(function() {
alert("Hello world!");
}, 1000);
//注意:把它取消
clearTimeout(timeoutId);

间歇调用(轮询)

//推荐的调用方式
setInterval (function() {
alert("Hello world!");
}, 10000);

常用示例

var num = 0;
var max = 10;
var intervalId = null;
function incrementNumber() {
    num++;
    //如果执行次数达到了 max 设定的值,则取消后续尚未执行的调用
    if (num == max) {
        clearInterval(intervalId);
        alert("Done");
    }
}
intervalId = setInterval(incrementNumber, 500);

对话框

if (confirm("Are you sure?")) {// 返回一个布尔值
        alert("你是一个憨憨");
} else {
        alert("你还是一个憨憨");
}

prompt() 方法接受两个参数:要显示给用户的文本提示和文本输入域的默认值(可以是一个空字符串)

var result = prompt("What is your name? ", "");
        if (result !== null) {
            alert("Welcome, " + result);
        }

frames 属性返回窗口中所有命名的框架;

<button onclick="myFunction()">点我</button>
<br><br>

<iframe src="https://www.baidu.com"></iframe>
<iframe src="https://www.taobao.com"></iframe>

<script>
function myFunction() {
    var frames = window.frames;
    var i;

    for (i = 0; i < frames.length; i++) {
        frames[i].location = "www.taobao.com";
    }
}
</script>

7.2location对象

location既是 window 对象的属性,也是document 对象的属性;即 window.location 和 document.location 引用的是同一个对象;

属性

  1. window.location.hostname; //返回不带端口号的服务器名称
  2. window.location.pathname; // 返回当前页面的路径和文件名
  3. window.location.port; // 返回 web 主机的端口 (80 或 443)
  4. window.location.protocol; // 返回所使用的 web 协议(http:// 或 https://)
  5. window.location.href; // 返回当前页面的url地址
  6. window.location.host; //返回带端口号的服务器名称
  7. search "?q=javascript" //返回URL的查询字符串。这个字符串以问号开头

方法

assign() 载入一个新的文档
reload() 重新载入当前文档
replace() 用新的文档替换当前文档,用户无法返回前面一个页面

	 <input type="button" value="载入新文档" onclick="newDoc()">
    <script type="text/javascript">
        function newDoc(){
            window.location.assign("http://www.baidu.com")
        }
                
    </script>   

等同于

window.location = "http://www.baidu.com";
location.href = "http://www.baidu.com";

7.3navigator对象

识别客户端浏览器的事实标准

window.navigator.appCodeName; //浏览器代码名
window.navigator.appName; //浏览器步伐名
window.navigator.language; //浏览器当前语言
window.navigator.platform; //操作体系类型win32
window.navigator.plugins; // 浏览器中安装的插件信息的数组
window.navigator.appVersion; //浏览器版本(包括 体系版本)
window.navigator.userAgent; //用户代理头的字符串表示
window.navigator.onLine; //用户否在线
window.navigator.cookieEnabled; //浏览器是否支持cookie
window.navigator.mimeTypes; // 浏览器中注册的MIME类型数组

7.4Screen 对象

Screen 对象包含有关客户端显示屏幕的信息。很少使用

  • availHeight 返回屏幕的高度(不包括Windows任务栏)
  • availWidth 返回屏幕的宽度(不包括Windows任务栏)
  • colorDepth 返回目标设备或缓冲器上的调色板的比特深度
  • height 返回屏幕的总高度
  • pixelDepth 返回屏幕的颜色分辨率(每象素的位数)
  • width 返回屏幕的总宽度

7.5history 对象

history 对象保存着用户上网的历史记录,从窗口被打开的那一刻算起;

//前进两页
history.go(2);
//后退一页
history.back();
//前进一页
history.forward();

相关文章