JavaScript 打开弹出窗口

Javascript弹出窗口脚本有时对于将弹出窗口添加到页面很有用。当用户单击链接时,将打开一个新窗口并显示一个页面。

HTML

<a href="/index.html" onclick="return openWindow(this, {width:790,height:450,center:true})">打开新窗口</a>

有一些可选的可选参数作为第二个对象参数传递给此Javascript打开窗口函数(如上所示):

{
    width //宽度
    height //高度
    left //X坐标
    top //Y坐标
    center //中央
    name //名称
    scrollbars //滚动条
    menubar //菜单栏
    locationbar //位置栏
    resizable //可调整大小
}

源码

/**
*
*  Javascript open window
*
**/
 
function openWindow(anchor, options) {
 
    var args = '';
 
    if (typeof(options) == 'undefined') { var options = new Object(); }
    if (typeof(options.name) == 'undefined') { options.name = 'win' + Math.round(Math.random()*100000); }
 
    if (typeof(options.height) != 'undefined' && typeof(options.fullscreen) == 'undefined') {
        args += "height=" + options.height + ",";
    }
 
    if (typeof(options.width) != 'undefined' && typeof(options.fullscreen) == 'undefined') {
        args += "width=" + options.width + ",";
    }
 
    if (typeof(options.fullscreen) != 'undefined') {
        args += "width=" + screen.availWidth + ",";
        args += "height=" + screen.availHeight + ",";
    }
 
    if (typeof(options.center) == 'undefined') {
        options.x = 0;
        options.y = 0;
        args += "screenx=" + options.x + ",";
        args += "screeny=" + options.y + ",";
        args += "left=" + options.x + ",";
        args += "top=" + options.y + ",";
    }
 
    if (typeof(options.center) != 'undefined' && typeof(options.fullscreen) == 'undefined') {
        options.y=Math.floor((screen.availHeight-(options.height || screen.height))/2)-(screen.height-screen.availHeight);
        options.x=Math.floor((screen.availWidth-(options.width || screen.width))/2)-(screen.width-screen.availWidth);
        args += "screenx=" + options.x + ",";
        args += "screeny=" + options.y + ",";
        args += "left=" + options.x + ",";
        args += "top=" + options.y + ",";
    }
 
    if (typeof(options.scrollbars) != 'undefined') { args += "scrollbars=1,"; }
    if (typeof(options.menubar) != 'undefined') { args += "menubar=1,"; }
    if (typeof(options.locationbar) != 'undefined') { args += "location=1,"; }
    if (typeof(options.resizable) != 'undefined') { args += "resizable=1,"; }
 
    var win = window.open(anchor, options.name, args);
    return false;
 
}
赞(0) 打赏
取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

    暂无评论...