使用JavaScript多次打开同一窗口

使用JavaScript多次打开同一窗口,javascript,Javascript,我是JavaScript新手,正在努力学习。如何使用JavaScript多次打开同一窗口?另外,当我更改函数名时,它也不起作用 以下是函数: <script type='text/javascript'> function window(URL) { day = new Date(); id = day.getTime(); eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scr

我是JavaScript新手,正在努力学习。如何使用JavaScript多次打开同一窗口?另外,当我更改函数名时,它也不起作用

以下是函数:

<script type='text/javascript'>
function window(URL) {
    day = new Date();
    id = day.getTime();
    eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=600,height=800,left = 650,top = 250');");
}
</script>

功能窗口(URL){
日期=新日期();
id=day.getTime();
评估(“页面”+id+”=窗口。打开(URL,“+id+”,“工具栏=0,滚动条=0,位置=0,状态栏=0,菜单栏=0,可调整大小=0,宽度=600,高度=800,左=650,顶部=250”);
}

尝试用id参数省略,如下所示:

<script type='text/javascript'>
    function window(URL) {
        window.open(URL,'','toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=600,height=800,left=650,top=250');
    }
</script>

功能窗口(URL){
打开(URL,,“工具栏=0,滚动条=0,位置=0,状态栏=0,菜单栏=0,可调整大小=0,宽度=600,高度=800,左侧=650,顶部=250”);
}

尝试以下方法:

var numWindows = 0;
var windows = new Array(100);
var parameters = "toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=600,height=800,left = 650,top = 250";

function openNewWindow(url) {
    numWindows += 1;
    var title = "Window #"+numWindows;
    windows[numWindows] = window.open(url, title, parameters);
}
要访问windows,请执行以下操作:

windows[num]

其中num是窗口的id。第一个id为1,第二个id为2,依此类推

首先,我强烈建议您放弃使用eval。这是非常不安全的,不好用

第二,您可以在不进行评估的情况下完成此任务,如下所示:

function openWindow(URL) {
    day = new Date();
    id = day.getTime();
    windowCol[id] = window.open(URL, id, 
        'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=600,height=800,left = 650,top = 250');
}

为了避免混淆,即使“window”用作函数名,我建议更改它以使代码更可读,因为它可能会与全局窗口对象混淆。

window.open()的第二个参数(这里是时间戳)必须不同,否则window.open()将在现有窗口中加载新窗口(之前使用相同的名称打开,这是第二个参数分配给窗口的内容)


您还可以使用“\u blank”作为open()的第二个参数使用随机数打开弹出窗口,次数可根据需要而定:

function openPopUp (url) {
    var randomno = Math.floor((Math.random()*100)+1); 
    window.open(url,'PopUpWindow'+randomno,'scrollbars=1,menubar=0,resizable=1,width=850,height=500');
}
试试这个

<script type='text/javascript'>
function window(URL) {
window.open(URL, "_blank", 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=600,height=800,left = 650,top = 250');
}
</script>

功能窗口(URL){
打开(URL,“_blank”,“toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizeable=0,width=600,height=800,left=650,top=250”);
}