【javascript学习指南】JavaScript BOM笔记window.open例子

更新时间:2019-06-29    来源:php基础    手机版     字体:

【www.bbyears.com--php基础】

看了半天,终于到了我觉得实战的部分了,首先是window.open,说白了就是弹出窗口。
基础的来讲:

 代码如下 // 等同于
window.open("http://111cn.net", "topFrame");

等价的时候用没什么前途,所以这里还有别的用法,topFrame,也就是第二个参数,可以传入_self,_parent,top以及_blank,而第二个参数并不是已存在的窗口和框架时,会去读取第三个参数来决定,第三个参数中似乎一些都是不怎么好用的,主要是top,width,left,height位置。

比如:

 代码如下 window.open("http://111cn.net", "_blank", " height=500, width=300, left=20, top=20");

就会弹出一个窗口(不过大部分时候都是被和谐的命运)

除此以外,close()方法可以关闭这个弹出的窗口(其它窗口是无权操作的),另外还有moveTo()``resizeTo()这种由名便知的。

如果弹窗被屏蔽,一般而言会返回null并抛出错误,所以我们可以用

 代码如下     var blocked = false;
    try {
        var pop = window.open("http://111cn.net", "_blank", "height=500, width=300, left=20, top=20");
        if (pop == null) {
            blocked = true;
        }
    } catch(ex) {
        blocked = true;
    }
    if (blocked) {
        alert("The pop was blocked");
    }

来检测弹窗是否被阻止了并提示。

然后稍微用前面的知识折腾了一下,具体在源代码里也能写的挺明白的,代码渣,勿怪。

演示

2014-07-23_194951.png

 代码如下




   
    Window-on


<script>
    function NewWindow() {
        this.win = window.open("http://111cn.net", "_blank", " height=500, width=300, left=20, top=20");
    }
    NewWindow.prototype = {
        constructor: NewWindow,
        close: function () {
            this.win.close();
        },
        resize: function () {
            this.win.resizeTo(300, 300);
        },
        moveTo: function () {
            this.win.moveTo(100, 100);
        }
    }
    /* 第一种方式:简易版
    var pop = window.open("http://111cn.net", "_blank", " height=500, width=300, left=20, top=20");
    if (pop == null) {
        alert("The pop was blocked!");
    }
    */
    /* 第二种方式:更精确 */
    var blocked = false;
    try {
        var pop = window.open("http://111cn.net", "_blank", "height=500, width=300, left=20, top=20");
        if (pop == null) {
            blocked = true;
        }
    } catch(ex) {
        blocked = true;
    }
    if (blocked) {
        alert("The pop was blocked");
    }
</script>





本文来源:http://www.bbyears.com/jiaocheng/55704.html