Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Проблема с отменой статусбара в IE


Автор: Китти 9.7.2006, 23:05
Помогите, пожалуйста, разобраться...
Нашла на форуме код, который позволяет закрытием  и открытием заново изменить внешний вид окна. Все работает просто замечательно, только вот никак не удается отменить статусбар. А это было основным элементом, от которого надо было избавиться. Может быть, кто-нибудь подскажет мне, в чем тут ошибка. 
Спасибо!!!

А вот сам код:
 
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title></title>
</head>
<body onload=f()>

<script>
f=function(){window.opener=1;open('index1.php',"nameWin","menubar=0,titlebar=0,status=0,toolbar=no,fullscreen=0,location=0");

     setTimeout('window.close();',9);

 }</SCRIPT>


</body>
</html>
 

Автор: 12345c 9.7.2006, 23:32
У меня работает (написал вместо файла для удобства open('javascript:document.write("<b>aaaaaaa</b>");', ...) в ИЕ6, только просит разрешить скрипт в новом окне. Кстати, как это отменить?

Добавлено @ 23:33 
(Думал, что могло не работать, оттого что "titlebar=0", который в IE не определён, но работает.) 

Автор: Китти 9.7.2006, 23:47
У меня IE версия 6.029, статус бар не отменяется, но и окошко с вопросом тоже не выскакивает. Честно говоря, как его отменить я не знаю. 
Может быть, все дело в настройках? 

Автор: 12345c 10.7.2006, 01:34
Это окно (точнее, информационный бар жёлтого цвета сверху) появилось после апгрейдов безопасности - SP2 или более поздних. Возможно, в них же исправлена Ваша проблема - в исправленных версиях IE работает убирание статус-бара. У меня номер версии - IE 6.0.2900.2180.xpsp_sp2_gdr.050301-1519

Добавлено @ 01:38 
Попробуйте убрать titlebar=0  и другие подозрительные - fullscreen=0 

Автор: Китти 10.7.2006, 10:42
У меня точно такая же версия… Убрала все, оставила только  status=0 и все равно, ничего не работает, статус бар не убирается.
Может быть, я не там ищу решение? У меня есть страничка, которой постоянно делается refresh и у пользователя в статус баре все время мигает адрес странички и прогресс бар, который показывает загрузку странички. Вот от этого и хотелось бы избавиться. Может быть, есть другое решение, а не только отмена статус бара? Помогите, пожалуйста, не знаю, что и делать....
 

Автор: 12345c 10.7.2006, 16:09
А что у Вас в index1.php ??Попробуйте мой вариант. Возможно, там зациклена перезагрузка страницы по onload? Кстати, для правильности надо написать

Код

open('javascript:document.write("<b>aaaaaaa</b>");document.close();', ...)



 

Автор: vasac 10.7.2006, 17:04
Китти, а где нашли этот код?
Я что то вообще не понимаю, как он может работать. Видимо имелось ввиду что-либо типа такого:
Код

f=function(){
     if ( window.opener ) return false;
     open( '1.htm',"nameWin","menubar=0,titlebar=0,status=0,toolbar=no,fullscreen=0,location=0");
     setTimeout('window.close();',2000);


Т.е. открываем новое окно с тем же адресом, но без всех баров, а старое закрываем.

Но здесь два момента:
1. Так как окно открывается не по действию пользователя, оно будет считаться всплывающим и все современные браузеры его просто заблокируют.
2. Так же при самовольном закрытии окна пользователю выскочит окошко с вопросом, типа, хочет он этого или нет.

Так что забейте вы на это. Зачем вообще лишать пользователя элементов оформления? Они же не просто так сделаны, а для его удобства.
 

Автор: Китти 10.7.2006, 17:29
Код нашла здесь, на форуме. Работать-то он работает, да вот только у меня статус бар не убирается.
А убрать его надо потому, что у меня постоянно происходит обновление страницы и в статус бар все время мигает ее адрес. Во-первых, это некрасиво, а во-вторых, у некоторых при этом еще и щелчок возникает. Я новичок, тонкостей JavaScript не знаю, вот и не могу никак разобраться. smile
 

Автор: 12345c 10.7.2006, 17:40
Цитата(vasac @  10.7.2006,  17:04 Найти цитируемый пост)
Так же при самовольном закрытии окна пользователю выскочит окошко с вопросом, типа, хочет он этого или нет.


window.opener=1 в ИЕ позволяет обойти это.
Цитата(vasac @  10.7.2006,  17:04 Найти цитируемый пост)
оно будет считаться всплывающим

да, это может быть причиной, почему "не убирается" статусбар. Возможно, браузер настроен на блокировку того окна, и оно без статусбара просто не появляется. Следовательно, не удаляет текущее. Обойти можно, разрешив всплывающие окна. 

Автор: vasac 10.7.2006, 19:00
Китти, щелчок то от статусбара вряд ли зависит.
Все равно мигающий статусбар лучше всяки выскакивающих окон, обрезанных элементов управления, да и к тому же ошибок во многих браузерах.
А может быть можно обойтись без постоянного обновления?


Цитата(12345c @  10.7.2006,  17:40 Найти цитируемый пост)
window.opener=1 в ИЕ позволяет обойти это.

А у меня что-то не получается. (IE 6.0) А в FF так и вообще ошибку пишет. Во-всяком случае если это и позволяет отключить сообщение, то это уже глюк ие.


Цитата(12345c @  10.7.2006,  17:40 Найти цитируемый пост)
Обойти можно, разрешив всплывающие окна.  

Ну тогда на сайте можно сделать ссылку: "нажмите здесь если вас нервирует моргающая строка в статусбаре и он обрежется" smile 

Автор: Китти 10.7.2006, 20:25
Цитата(vasac @ 10.7.2006,  19:00)
Китти, щелчок то от статусбара вряд ли зависит.
Все равно мигающий статусбар лучше всяки выскакивающих окон, обрезанных элементов управления, да и к тому же ошибок во многих браузерах.
А может быть можно обойтись без постоянного обновления?


Похоже, что придется. Тогда, правда, надо менять всю схему получения информации от сервера... 

Автор: 12345c 10.7.2006, 23:58
Да, на ajax-e лучше будет, без щелчков и пробле со статус-баром. Проблемы будут с Оперой-8. 

Автор: Китти 11.7.2006, 18:40
Точно, уже переделала. С IE вроде пока никаких проблем...

Спасибо за помощь! 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)