Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   JS. Закрытие вкладок (https://forum.antichat.xyz/showthread.php?t=198468)

IamAdmin 23.04.2010 02:10

JS. Закрытие вкладок
 
Помогите создать кнопку, при нажатии которой закрываются все открытые вкладки в браузере.

Redwood 23.04.2010 03:52

Насколько я знаю, а в JS я не силен, можно закрыть либо текущую вкладку
PHP код:

<html>
    <
body>
        <
form>
            <
input type="button" id="btnClose" value="close" onclick="window.close()">
        </
form>
    </
body>
</
html

либо обратиться к каждому окну по имени и все их закрыть, если они были открыты по средствам JS.

r00nix 23.04.2010 12:30

Рэдвуд, не если открыты посредством JS, а если window, из которого их пытаются закрыть, является родителем по отношению к ним. То есть если эти вкладки создавались из window, в котором выполняется JS, то их можно закрыть, поочередно обращаясь к каждой из них из родительского окна, либо изнутри каждой вкладки закрывать саму вкладку. Кстати, в Опере вкладку можно закрыть из нее самой, даже если она не является чьим-то child'ом - и еще пока неизвестно, баг это или фича.
Что касается вопроса ТС - если бы это было возможно, баннерообменники ликовали бы))
Хотя.. поясни: кнопка должна быть на странице, или ты например пишешь аддон для лисы, и тебе надо одной кнопкой закрыть все вкладки? в последнем случае это вполне реализуемо, так как главное окно, в котором будет выполняться JS, является родителем по отношению к открываемым окнам (читай - вкладкам).

$now 23.04.2010 13:48

JS имеет доступ только к своей вкладке и ее потомкам.Всех потомков закрыть - пройтись рекурсивно по потомкам окна и всех закрыть

r00nix 23.04.2010 16:30

Цитата:

Сообщение от $now
JS имеет доступ только к своей вкладке и ее потомкам.Всех потомков закрыть - пройтись рекурсивно по потомкам окна и всех закрыть

не имеет он доступа к своей вкладке, если она была открыта пользователем. такое безобразие присутствует только в Опере (читай выше)


Время: 22:06