Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / завешивание окна в ZEN / 11 сообщений из 11, страница 1 из 1
07.06.2009, 13:34
    #36029670
kras_sfu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
завешивание окна в ZEN
Вопрос в следующем, как можно "завесить" страницу на время выполнения метода? т.е. сделать так чтобы пользователь при запросе определенного метода не смог нажимать, выбирать и тп пока не закончится выполнение этого метода.
...
Рейтинг: 0 / 0
08.06.2009, 00:37
    #36030146
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
завешивание окна в ZEN
ну можно к примеру, добавить 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
08.06.2009, 05:21
    #36030223
logist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
завешивание окна в ZEN
Такое поведение характерно для синхронных запросов. В зене методы, возвращающие
значение, вызываются синхронно.

=Сергей Шутов (logist)
ООО Димас, Хабаровск
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
08.06.2009, 10:19
    #36030422
kras_sfu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
завешивание окна в ZEN
все верно, только я использую так называемый 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
08.06.2009, 11:20
    #36030566
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
завешивание окна в ZEN
ну во первых вы фон ставите белым (#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
08.06.2009, 13:11
    #36030827
kras_sfu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
завешивание окна в ZEN
ну да действительно был белый, это я в дрюмвивере уже эксперементировал :)
такой вариант у меня работает в опере и хроме, странно почему ИЕ 8 не поддерживает прозрачность...
...
Рейтинг: 0 / 0
08.06.2009, 13:21
    #36030851
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
завешивание окна в ZEN
а я странного в этом ничего не вижу, у продукта мелгкомягких такое может быть
хотя я видел вариант сайта с 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
08.06.2009, 13:26
    #36030867
kras_sfu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
завешивание окна в ZEN
что то не совсем понял, что за картинка? :)
...
Рейтинг: 0 / 0
08.06.2009, 14:40
    #36031105
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
завешивание окна в ZEN
берешь рисуешь картинку шириной в 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
08.06.2009, 14:43
    #36031123
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
завешивание окна в ZEN
форум ее как картинку вставил
_________________________________
Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST
...
Рейтинг: 0 / 0
13.07.2009, 11:24
    #36086396
13-й Пилигрим
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
завешивание окна в ZEN
Добрый день, уважаемые.
Подскажите, как обойти такую проблему:
Есть 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
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / завешивание окна в ZEN / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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