Показать полную графическую версию : JavaScript - функция "Always on top"
System Failure
21-07-2007, 12:29
В общем по существу. Было бы неплохо для одного документика сделать такую функцию, но проблема в том, что у меня нет ни малейшего представления как это делается. Подмкажите, пожалуйста, хотябы путь... Ну или, если вдруг кто является уже обладателем данной функции, поделитесь=) Заранее спасибо.
Prisoner
21-07-2007, 14:59
А "always on top" что? Если какой-то блок, то каким он должен быть? Статичным или способным к drag&drop? Если статичным, то будет достаточно:
<div style="width: 100px; height: 100px; position: absolute; z-index: 100000; left: 100px; top: 100px">какой-то блок</div>
"Always on top" тут обеспечивает непомерно большой z-index, что делают остальные правилам догадаться не сложно. Я верно понимаю вопрос?
System Failure
21-07-2007, 15:47
я имел в виду, чтобы страница всегда была поверх остальных.
Prisoner
21-07-2007, 16:29
Боюсь, что это нереально. Дело в том, что это просто небезопасно.
System Failure
21-07-2007, 16:37
ясно.... очень жаль=(
Prisoner
21-07-2007, 17:29
Хм... я немного слукавил, это можно сделать наполовину - только для броузерных окон открытых на одном сайте (возможно на нескольких) да и то, довольно косолапо - что-то сделать в не топовых окнах будет нельзя. Представьте себе окно (объект window) которое открывает popup:
<script language="JavaScript">
var newWin = window.open(url,'name','height=100,width=100');
</script>
Теперь см. статью по нужному событию onFocus (http://www.quirksmode.org/js/events_compinfo.html) и пишем обработчик для окна которое открывает другие окна:
<script language="JavaScript">
window.onfocus = function() {newWin.focus()};
</script>
Таким образом получается, что если мы открываем новое окно и после этого пытаемся перевести фокус на родительское фокус тут же метнется к popup окну.
В любом случае все это вредные вещи... Вы уверены, что оно Вам надо? Может быть задачу можно переоформить так что on top окна перестанут быть нужными?
MIVerTFT
24-07-2007, 13:21
Есть возможность открывать окно как модальное, тогда не надо переписывать обработчики событий других окон, но остаётся проблема доступа к другим окнам пока не закрыто мадальное окно.
Prisoner
24-07-2007, 13:50
Именно. К тому же, емнип, модальное окно - это IE-only, так ведь?
MIVerTFT
25-07-2007, 10:26
Насколько я знаю, модальное окно можно создать и в других браузерах. Проблема заключается в том что для разных браузеров его создание отличается. Например для Opera в функции windows.open есть параметр который указывает модальное окно или нет.
vadimiron
25-07-2007, 12:17
Модальное окно можно также не только "окном" создавать, но и симулировать с помощью слоёв.
Во Framework-e Yahoo! (YUI) есть такая фишка, которая позволяет создавать окно(то есть это слой конечно же), при этом родительское окно блокируется. Вроде везде функционирует....
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.