0

我有以下代码已经在工作:

popups[uuid] = window.open(url, popupConf[type].target, popupConf[type].string);
popups[uuid].focus();
$(popups[uuid]).load(function() {
    $(popups[uuid]).unload(function() {
        Stream.video.stop(uuid);
    });
});

我把它放在一个函数Stream.video.play(url, popupConf);上,我用一些链接上的事件调用它。一切正常,但问题是,如果我这样做:

Stream.video.play('a',{ /* conf */});

接着

Stream.video.play('a',{ /* conf */});

同样,它不能正常工作......它只在事件卸载后执行......

代码的两次执行具有相同的目标,因此窗口会按应有的方式更新。这很重要,因为我在窗口打开后注册其他内容,并且一旦窗口被卸载(即关闭或其中的数据发生更改),这些内容应该被取消注册。

在此先感谢您的帮助。

编辑1:这是我遇到的问题:

<a id="click">Click me</a><br />
<a id="otherClick">Click me</a>

$(function() {
    var myWindow;
    $('#click, #otherClick').click(function() {
        myWindow = window.open("about:blank","test","resizable=0,location=0,toolbar=0,height=150,width=150");
        $(myWindow).load(function() {
            $(myWindow).unload(function() {
                alert("closed");
            });
        });
    });
});

http://jsfiddle.net/Sd8wt/

4

0 回答 0