powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / завешивание окна в ZEN
11 сообщений из 11, страница 1 из 1
завешивание окна в ZEN
    #36029670
kras_sfu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос в следующем, как можно "завесить" страницу на время выполнения метода? т.е. сделать так чтобы пользователь при запросе определенного метода не смог нажимать, выбирать и тп пока не закончится выполнение этого метода.
...
Рейтинг: 0 / 0
завешивание окна в ZEN
    #36030146
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну можно к примеру, добавить div растянутый на всю страницу и z-index самый большой, ну так чтобы он был выше всех элементов, сделать фон к примеру черный и прозрачность (opacity) на 75%, по умолчанию у него стиль display:none, а когда нужен включаешь его отображение и можно сверху еще что-то типа сообщения подождите, таким образом у тебя получится слегка затемненная страница, с элементом поверх
я так делал в своем приложении для информационного киоска, когда в этот момент происходит обновление данных, процесс не быстрый поэтому нужно было блокировать доступ с выводом информации
_________________________________
Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST
...
Рейтинг: 0 / 0
завешивание окна в ZEN
    #36030223
logist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такое поведение характерно для синхронных запросов. В зене методы, возвращающие
значение, вызываются синхронно.

=Сергей Шутов (logist)
ООО Димас, Хабаровск
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
завешивание окна в ZEN
    #36030422
kras_sfu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все верно, только я использую так называемый ajax.
DAiMor а где именно вы проварачивали такую операцию? zen или csp?
в zen в тэг html вставляю div все вроде здорово и на переднем плане, вот только прозрачность почему то не поддерживается

Код: plaintext
1.
2.
3.
<html height="100%" width="100%">
  <p>Слой  1  наверху</p>
 <div id="layer1" style="position: absolute;background:#FFFFFF;width:100%;height:100%;font-size: 50px; color:#FFFFFF;padding-top:200px;text-align:center;filter:alpha(opacity=35);-moz-opacity:.35;opacity:.35;z-index: 20;">Загрузка</div>
</html>
...
Рейтинг: 0 / 0
завешивание окна в ZEN
    #36030566
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну во первых вы фон ставите белым (#FFFFF)
вот посмотрите мой пример, проверял только в firefox 3.*
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
<html>
<head>
<style>

#overlay {
height: 100 %;
left: 0 ;
position:fixed;
top: 0 ;
width: 100 %;
z-index: 100 ;
}
.overlayBG{
background-color:# 000000 ;
opacity: 0 . 25 ;
}
.load{
text-align:center;
font-size: 70px;
color: white;
padding-top: 20 %;

}
td { 
text-align:center;
font-size: 40px;
vertical-align:top;
}
</style>
</head>

<body>
<table height="100%" width="100%" align="center">
<tr height= 100 ><td>head</td></tr>
<tr height="100%"><td>content<br>
<button>попробуй нажми</button>
</td></tr>
<tr height= 50 ><td>copyright</td></tr>
</table>
<div id="overlay" class="overlayBG"></div>
<div id="overlay" class="load">  загрузка</div>

</body></html>


_________________________________
Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST
...
Рейтинг: 0 / 0
завешивание окна в ZEN
    #36030827
kras_sfu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну да действительно был белый, это я в дрюмвивере уже эксперементировал :)
такой вариант у меня работает в опере и хроме, странно почему ИЕ 8 не поддерживает прозрачность...
...
Рейтинг: 0 / 0
завешивание окна в ZEN
    #36030851
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а я странного в этом ничего не вижу, у продукта мелгкомягких такое может быть
хотя я видел вариант сайта с jquery у которого прозрачность работает в IE6, но там может просто другой способ

есть еще вариант в качестве фона верхнего дива поставить картинку на 2 пикселя у которой 1 из 2 пикселей будет прозрачным

_________________________________
Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST
...
Рейтинг: 0 / 0
завешивание окна в ZEN
    #36030867
kras_sfu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что то не совсем понял, что за картинка? :)
...
Рейтинг: 0 / 0
завешивание окна в ZEN
    #36031105
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
берешь рисуешь картинку шириной в 2 пикселя и высотой в 2 пикселя, 2 пикселя по диагонали закрашиваешь, а остальные оставляешь прозрачным, сохраняешь в формате который понимает прозрачность (gif, png)
делаешь фон
background: url(images/shadow.png) repeat 0 0
во вложении картинка
_________________________________
Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST
...
Рейтинг: 0 / 0
завешивание окна в ZEN
    #36031123
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
форум ее как картинку вставил
_________________________________
Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST
...
Рейтинг: 0 / 0
завешивание окна в ZEN
    #36086396
13-й Пилигрим
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, уважаемые.
Подскажите, как обойти такую проблему:
Есть ZEN-страничка, на которой при нажатии на кнопку javascript "завешивает" форму, затем вызывается cache-метод, и, напоследок, javascript "открывает" форму.
Код страницы
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
Class TEST.Test Extends %ZEN.Component.page
{

Parameter APPLICATION = "TEST.Test";

Parameter DOMAIN = "TEST";


XData Style
{
<style type="text/css">
div#progressbox {
	position: absolute;
	width: 500px;
	border: #cccccc 1px solid;
	color: black;
	font-weight: bold;
	font-size: 8pt;
	background-color: #F5F5F5;
	visibility: hidden;
	text-align: center;
	padding-top: 30px;
	padding-bottom: 30px;
}
</style>
}

/// This XML block defines the contents of this page.
XData Contents [ XMLNamespace = "http://www.intersystems.com/zen" ]
{
<page xmlns="http://www.intersystems.com/zen" title="" width="100%">
 <form id="fmTest" name="fmTest">
  <button caption="OK" onclick="zenPage.btnClick()"/>
 </form>
 <html slice="2">
 <div id="progressbox">
  Пожалуйста, подождите. Идет соединение с базой данных...<br/><br/>
  <img src="IMAGES/progressbar.gif"/>
 </div>
 </html>
</page>
}

Method %OnAfterCreatePage() As %Status
{
	q $$$OK
}

ClassMethod btnClick() [ Language = javascript ]
{
	zenPage.showProgressBar('fmTest')
	zenPage.SrvMethod()
	//if (ret) alert('OK')
	//else alert('Error')
	zenPage.hideProgressBar('fmTest')
}

Method SrvMethod() As %Boolean [ ZenMethod ]
{
	h  2 
	q $$$OK
}

Method showProgressBar(formName) as %Boolean [ Language = javascript ]
{
	document[formName].parentNode.parentNode.style.filter = "Alpha(opacity=25), blue()";
	document[formName].style.MozOpacity = "0.25";
	document[formName].style.opacity = "0.25";
	document.all.progressbox.style.top = document.body.scrollTop + document.body.clientHeight /  2  -  100 ;
	document.all.progressbox.style.left = document.body.offsetWidth /  2  -  250 ;
	document.all.progressbox.style.visibility = 'visible';
	document.body.style.cursor = 'progress'
	return true
}

Method hideProgressBar(formName) As %Boolean [ Language = javascript ]
{
	document[formName].parentNode.parentNode.style.filter = "";
	document[formName].style.MozOpacity = "1";
	document[formName].style.opacity = "1";
	document.all.progressbox.style.visibility = 'hidden';
	document.body.style.cursor = 'auto'
	return true
}

}

Так вот, и в Oper'e, и в FireFox'e все отрабатывает как надо. Т.е. сначала "завешивается" страница, затем в течении 2 сек. выполняется серверный метод, и, наконец, страница возвращается в исходное состояние. НО! в IExplorer'e не работает. Т.е. не работает "завешивание" страницы. Серверный метод отрабатывает. К тому, же если раскомментировать "if ... else ..." в btnClick(), то в IE в момент alert'a появляется "пропавший" progressbox.
Как заставить IE правильно отображать задуманное? Какие у кого соображения по этому поводу?
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / завешивание окна в ZEN
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]