javascript - 打开新选项卡/窗口并关闭旧选项卡/窗口

标签 javascript jquery internet-explorer-8

这是我当前的代码,但 closeWindow 函数是在新选项卡打开之前执行的。

    $(document.body).append('<iframe width="500px" height="500px" id="pcl_frame" style="display:none;"></iframe>');
    $('#pcl_frame').attr('src', data['url']);
    $('#pcl_frame').load(function() {
        // Load page
        document.getElementById('pcl_frame').contentWindow.CreateCBTPlayer(data['code'],"new");

        // Close current windows after the above tab/window opens
        closeWindow(); // has a 2 second delay
}); 

有没有办法等待上面的命令首先打开新选项卡/窗口,然后关闭用于打开新窗口的当前选项卡。

而且我无法更改 CreateCBTPlayer 函数。

免责声明

我知道我正在做的事情不太符合逻辑,但必须这样做才能绕过我必须使用的旧系统。

最佳答案

我不太确定,但我认为你可以这样做:

(function(old_window) { 
    $(new_window).load(function() {
         old_window.close();
    });
})(window);

外部自调用匿名函数用于将局部变量old_window绑定(bind)到当前窗口对象。内部函数是一个捕获该绑定(bind)并关闭窗口的闭包。此闭包绑定(bind)到新窗口的 onload 事件。因此,当加载新窗口时,它将关闭当前窗口。

关于javascript - 打开新选项卡/窗口并关闭旧选项卡/窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12965221/

相关文章:

javascript - 当字体大小改变时保持div的比例

excel - VBA 和 IE8 - 输入值和搜索

javascript - Jquery 在 IE8 及更低版本中附加微妙之处

javascript - Django 静态 js 文件不起作用

jquery - 从 javascript 调用 asp 经典函数时出错

javascript - jquery DataTables.net 插件 : how to ignore specific rows when sorting

javascript - 如何在 Javascript 中模仿 SQL Coalesce 语句的功能

javascript - IE8 - window.open() - "No such interface supported"

javascript - 使用延迟和何时

javascript - 将表情符号列表添加到 HTML 元素,无延迟