Рейтинг:
32
F-ES Sitecore
Страница1
<body>
<form id="form1" runat="server">
<div id="IdDiv" runat="server" style=" visibility:visible ;HEIGHT: 100%; WIDTH: 100%; POSITION: absolute; LEFT: 0px; FILTER: alpha(opacity=50);; Z-INDEX: 2490; TOP: 0px; BACKGROUND-COLOR: threedshadow; opacity: 0.5">
Page1
</div>
</form>
<script type="text/javascript">
function hideDiv() {
var div = document.getElementById('<%=IdDiv.ClientID%>');
div.style.display = 'none';
}
</script>
</body>
Страница 2
<body>
<form id="form1" runat="server">
<div>
Page2
</div>
</form>
<script type="text/javascript">
window.addEventListener('beforeunload', function (event) {
window.opener.hideDiv();
});
</script>
</body>
Member 12554029
scripst не работает для меня, они не скрывают фон, Страница 1, которая находится там, где Div, чтобы скрыть, имеет этот эскрипт
функция hideDiv () {
var div = document.getElementById ('<% = background.ClientID%>');
див.стиль.дисплей = значение 'None';
<pre>
}
усилителя;amp; lt;/ скрипт&амп;ГТ;&ЛТ;/пре&ГТ;
и страница, которая закрывается и должна отдать приказ спрятать ее, имеет это другое
<script type = "text / javascript">
window.attachEvent ('beforeunload', функция (событие) {
окна.нож.hideDiv ();
});
<pre>
усилителя;amp; lt;/ скрипт&амп;ГТ;&ЛТ;/пре&ГТ;
Рейтинг:
2
F-ES Sitecore
Страницы существуют только тогда, когда пользователь запрашивает их, поэтому вы не можете обновлять одну из них из другой. Вместо этого сохраните что-то в сеансе, если div на странице 2 нуждается в обновлении;
Session("MakeBlock") = True
Затем в событии загрузки страницы 2 проверьте это значение сеанса, и если оно существует и истинно, то добавьте стиль, а затем установите переменную сеанса в Nothing.
Member 12554029
что я делаю, так это Запускаю страницу 2 со страницы 1, Страница 1 также активирует div: div.Стиль.Добавьте ("display", "block") и страница 2 деактивирует его, сделав div.Стиль.Добавить (" display "," none ")
F-ES Sitecore
Как запустить страницу? Связь? окна.открыться? iframe? Вы должны помнить, что мы не можем получить доступ к вашей системе, мы знаем только то, что Вы нам говорите. Вы можете добавить параметр к url-адресу страницы 2, если ему нужно изменить стиль, так что
страница2.аспн?блока=истина
и используйте это, чтобы решить, будет ли добавлен стиль или нет.
Member 12554029
Кстати, чтобы перейти на страницу выглядит следующим образом:
на странице 1.aspx.vb я поместил это:
Дим newWin как в окне string=".Страница 2 Открыть ('.aspx-файл', 'настроек', 'топ = 300, левая = 400, ш = 700, высота = 500, состояние = да')" ClientScript.RegisterStartupScript (Me.GetType (), "popup", newWin, True)
F-ES Sitecore
Поэтому добавьте параметр в строку запроса, если это необходимо, и измените страницу 2, чтобы получить доступ к параметру и добавить стиль, если он там есть.
Member 12554029
Как я мог это сделать?
F-ES Sitecore
Вы не объяснили, при каких обстоятельствах должен применяться стиль, что вызывает решение?
Member 12554029
Когда я закрываю страницу 2 div на странице 1 должен выполняться
див.стиль.Добавить ("display", "none")
Member 12554029
В решении, которое вы мне даете, где находится инструкция, эквивалентная div.Стиль.Добавить ("display", "none")? это может быть в AJAX?
F-ES Sitecore
Это код на стороне сервера, который запускается только тогда, когда страница запрашивается с сервера. Вы не можете запустить этот код в ответ на события javascript на клиенте, поэтому вам нужно сделать эквивалент в javascript, который является
ВАР, див = документ.метода getElementById('&л;%=IdDiv.Идентификатора ClientID%&ГТ;');
див.стиль.дисплей = значение 'None';
Рейтинг:
2
Member 12554029
У меня есть проблема с этим решением, оно отлично работает, но когда я нажимаю любую кнопку, div скрывает меня, как я могу сделать это только тогда, когда я закрываю окна?
F-ES Sitecore
Нет никакого способа узнать, когда пользователь закрывает браузер, это одна из многих причин, почему этот тип решения плох, и вы никогда не увидите его на других сайтах. У вас нет никакого реального контроля над тем, что клиент делает на своей машине или с помощью своего браузера.
Member 12554029
там должен быть безопасный знак закрытия окна для какого-то места, я использую OnClientClick = "window.close(); для закрытия окон
Richard Deeming
Если вы хотите прокомментировать решение, нажмите кнопку "есть вопрос или комментарий?" кнопка под этим решением.
НЕ опубликуйте свой комментарий как новое "решение"!
Рейтинг:
1
Member 12554029
scripst не работает для меня, они не скрывают фон, Страница 1, которая находится там, где Div, чтобы скрыть, имеет этот эскрипт
<script type = "text / javascript">
function hideDiv () {
var div = document.getElementById ('<% = background.ClientID%>');
div.style.display = 'none';
}
</ script>
и страница, которая закрывается и должна отдать приказ спрятать ее, имеет это другое
<script type = "text / javascript">
window.attachEvent ('beforeunload', function (event) {
window.opener.hideDiv ();
});
</ script>
Рейтинг:
1
Member 12554029
решено: исправлены некоторые ошибки скрипта
Большое вам спасибо за Ваш вклад.
страница 2
<script type = "text / javascript">
window.attachEvent ('onbeforeunload', function (event) {
window.opener.hideDiv ();
});
</ script>
страница 1
<script type = "text / javascript">
function hideDiv () {
var div = document.getElementById ('<% = IdDiv.ClientID%>');
div.style.display = 'none';
}
</ script>