Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   HTML/DHTML/CSS/JS/VB (http://www.flasher.ru/forum/forumdisplay.php?f=66)
-   -   showModelessDialog (http://www.flasher.ru/forum/showthread.php?t=80722)

dix 05.06.2006 15:28

showModelessDialog
 
Всем привет...
У вопрос связанный с функцией открытия нового showModelessDialog окна.
Дело в том, что форма открытая в этом окне (ModelessDialog) после submit'а открывает всё равно новое окно несмотря на свойство target. Как с эти бороться подскажите.

deathstorm 06.06.2006 11:13

код..

dix 06.06.2006 12:40

Вот так, вот открываю новое окно:
Код:

function openWindow(url,iw,ih)
{
        N=window.navigator.appName.substring(0,8);

        if(N=="Microsof"){w=document.body.clientWidth;h=document.body.clientHeight;}
        if(N=="Netscape"){w=window.innerWidth;h=window.innerHeight;}

        var iLeft = Math.round((w - iw)/2);
        var iTop  = Math.round((h - ih)/2);

        var sOptions = "toolbar:no;status:no;resizable:no;dependent:yes;help:no;scroll:no";
        sOptions += ";dialogWidth:" + iw + "px";
        sOptions += ";dialogHeight:" + ih + "px";
        sOptions += ";dialogLeft:" + iLeft + "px";
        sOptions += ";dialogTop:" + iTop + "px";                     

        popupWin = window.showModelessDialog(url,'1',sOptions);
        popupWin.focus();
        return false;
}

В дальнейшем пробывал открывать через обычный window.open() но ФаерВолл гад реагирует и закрыват его, что даз ни есть хорошо, так как заказчик очень трепетно относится к этим окрывающимся окошкам, и он не будет перестраивать себе ФаерВолл...
На днях видел сайт, где реализована такая система, но моя защита на него не сработала... в чем прикол? как обойти ФаерВолл?

deathstorm 06.06.2006 16:53

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Untitled Document</title>
<script>
function openWindow(url,iw,ih)
{
N=window.navigator.appName.substring(0,8);

if(N=="Microsof"){w=document.body.clientWidth;h=document.body.clientHeight;}
if(N=="Netscape"){w=window.innerWidth;h=window.innerHeight;}

var iLeft = Math.round((w - iw)/2);
var iTop = Math.round((h - ih)/2);

var sOptions = "toolbar:no;status:no;resizable:no;dependent:yes;help:no;scroll:no";
sOptions += ";dialogWidth:" + iw + "px";
sOptions += ";dialogHeight:" + ih + "px";
sOptions += ";dialogLeft:" + iLeft + "px";
sOptions += ";dialogTop:" + iTop + "px";

popupWin = window.open(url,'win1',sOptions);
popupWin.focus();
return false;
}
</script>
</head>
<body onclick=openWindow('http://ya.ru',300,300)>

</body>
</html>

попробуй так и попап окна вешать на действия пользователя, у мен6я лиса онлоад сразу зарубает с дефолтовыми настройками..
а еще оконце можно сделать средствами хтмл, и в нем производить свои действия (слои).
моделесс окна вроде в лисе тож не пашут, или тебе только для ослика нужно?

Constantine 06.06.2006 17:05

Да исправьте, наконец, "Microsof" на "Microsoft" :D

dix 06.06.2006 17:47

Если вставить "Microsoft", то не пашет

deathstorm 06.06.2006 18:01

indexOf() не рулит?

Constantine 06.06.2006 18:10

Тада найди нормальный скрипт определения клиента или просто пиши:
if (document.body.clientWidth) {

} else if (window.innerWidth) {

} else { ... }
Да, вообще-то затея та ещё... В самом деле, не лучше ли сделать всплывающий слой, а клик на странице вырубать?

dix 06.06.2006 18:10

:) работает...

Просто ясный перец, что в результате
N=window.navigator.appName.substring(0,8);
мы получим "Microsof" при "appName" == "Microsoft" и скрипт сработает правильно

Constantine 06.06.2006 18:28

Ну, если браузеры производят только в Microsoft и Netscape, то... флаг с барабаном, как говорится...


Часовой пояс GMT +4, время: 13:49.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.