关闭由搜索查询打开的窗口

时间:2009-09-14 02:46:06

标签: jquery dom forms

请转到http://musicalinstrumentsfinder.com/search.php

顶部搜索框是一个超级搜索框,如果您输入的内容将自动放入下面的各个搜索框中。此外,点击“全部搜索”按钮后,它会自动模拟其下方所有单独搜索框的点击。

要使用它,请在顶部搜索框中输入“Gibson”或“Fender”。

问题:单击“关闭Windows”按钮后,如何关闭自动打开的窗口?

请注意,自动打开的每个窗口可能会有不同的网址,具体取决于在热门搜索表单中输入的关键字。

此外,窗口从HTML FORM操作打开,而不是JS window.open()命令。因此,我认为我不能用window.close()命令关闭它们

1 个答案:

答案 0 :(得分:0)

我认为你唯一的选择就是使用window.open和.close(保存对windows的引用),因为没有任何对从HTML表单打开的新窗口/标签的引用。

因为你正在使用GET,所以不应该那么难。

编辑:摘录:

(function() {

var windowReferences = [], closeBtn = document.getElementById('close-btn'), form = document.getElementById('my-form');

form.onsubmit = function() {
    var urls = ['http://sitename.com?foo=bar', 'http://msn.com/foo/bar'], len = urls.length;
    for ( var i = 0; i < len; ++i ) {
         windowReferences.push( window.open( urls[i] ) );
    }
    return false;

};


closeBtn.onclick = function() {
    for ( var i = 0, l = windowReferences.length; i<l; ++i ) {
        windowReferences[i].close();
    }
}

})();

这还没有经过测试 - 如果它不起作用的话。