Да питам нещо

17 отговора 474 прегледа
#1

Да питам нещо

Привет

Имам страница която трябва като се затвори прозореца да изпраща параметър на PHP. Така. Опитах с onunload но той разбира се се изпълнява и при Refresh а това от своя страна е проблем. Та мисълта ми е как да направя така че единствено като се затвори прозореца да се изпълнява изпращането на параметъра. Трябва да е с някакъв javascript защото с PHP ясно не мога. Но какво точно незнам.

Опитах с функция която се стартира при зареждане и в последствие проверява следното условие :

if (window.close)
{
еди какво си
}

но нищо.

Помогнете

Отговор
в отговор на Hoвaтop #2

edno selsko reshenie

predi taja stranica si puskash edna druga, kojato prawi monitoring na twojata: ima li ja/njama li ja...

setInterval( 'CheckForExistenseOfMyWindowEtc();', 500 )

smjatam jasno ti e zashto e selsko: ako njakoj zatwori parent-a, uwjahwash; na wsjaka 1/2sec se prawi njakakwa javascript proverka kojato wyobshte ne e byrza...

Отговор
в отговор на jaw #3

oste edno, daje po selsko, takova...

znachi w on_unload otwarjash prozorec kojto sled 5 sec timeout ti wyrshi rabotata, a w nachaloto na twoja prozorec go zatwarjash.

pri refresh-a ako se generira on_unload ste se otwori prozorec-a i ako, daj boje , uspee da se prezaredi za po malko ot time-out-a ste se zatwori bez da naprawi nishto...

Отговор
в отговор на jaw #4

Xm

<script>
function PassParam(strParam)
{
document.opener.location = "my_parent_page.php?myParam=" + strParam;
this.window.close();
return false;
}
</script>

<BODY ONUNLOAD="javascript:PassParam('alabala')">


Нещо подобно дали ти върши работа? Пиша го само като идея, но пък като не искаш да рефреш-ват страницата защо не ползваш toolbar=no?

Успех
bofh

PS. Направих малко корекции.

Редактирано от bofh на

Отговор
в отговор на jaw #5

Re: oste edno, daje po selsko, takova...

Колко и "селско" да му викаш, май само така ще стане.
Защото, ако функцията е в основната страница, като настъпи това събитие (window.close) и всичко след него отлита в коша ...
Лично мнение. Може и да може, ама май не може :)))

Отговор
в отговор на bofh #6

Re: Xm

а refresh-a с десния клавиш ?
трябва и това да забрани :)

Отговор
в отговор на LeoS #7

Re: Xm

Абе сетих се за рефреша с десния още докато прибавях това за тоолбар-а, затова направих една корекция да се затваря джама щеш нещеш (малко грубо) или да подтисне контекстното меню с Java Script,това беше дискутирано из темите няма да го повтарям.

Успех
bofh
Отговор
в отговор на bofh #8

Re: Xm

Знам, че е дискутирано. Само подсещам.
Нали всички пишем тук, за да дадем на Новатор писта да си избистри решението :))
А и твойто отгоре така вече е по-добре, май :)))

Отговор
в отговор на LeoS #9

Re: Xm

Ami F5?
Ami <shift> + F10 / Refresh ?
...



Отговор
в отговор на LeoS #10

Re: Xm


Мдам

съжалявам за толкова разпокъсаното изложение,
но ми се спи зверски. Сега то май няма да има нещо
нормално като решение, но айде да приемем че сложи едно


Айде пак написах нещо различно :Р

function PassParam(strParam)
{
if(confirm('Сигурен ли сте,че искате да затворите прозореца'))
{
document.opener.location = "my_parent_page.php?myParam=" + strParam;
this.window.close();
return false;
} else {
//евентуално refresh, ако има нужда
return true;
}
}

С което нещата стават горе долу прилични.

Редактирано от bofh на

Отговор
в отговор на LeoS #11

абе имам една идея, ама не съм сигурен, че работи

няма ли такова събитие refresh в JS?

щото ако има, решението е просто:

if (затваря прозореца) {
if (рефреш) {нищо}
else {
изпраща параметъра
}
}

т.е. ако има събитие затваряне и има възможност това да е презареждане (лъжливо затваряне) да проверява- ако е лъжливо- не става нищо, ако е истинско затваряне- изпраща нужния стринг... само не знам, дали има такава възможност! Идеята е чисто хипотетична!

Баба...


___________________________
Утрото е по-мъдро от сутринта...
Отговор
в отговор на БaбaИлиицa #12

не виждам как....

Честно и на мен това ми дойде на ум първо...но не съм кой знае колко в програмиранетo (ako JS се нарича такова).
И направих си справка..няма Refresh..казано си е OnClose и OnUnload..но това не удолетворява човека...той си го каза....
ами значи (не знам за какво му е) няма и 'OnRefresh'...най малкото при NS трябва еквивалента да е OnReload ;))))) а те едва ли са стигнали до там.
Мислех си нещо във Frames да сложи и да се опитва да ги cheatva интелигентно...ама и там трудно,,,макар че се появиха и подобни решения....
Предложение : Нека да каже какво иска да направи, каква е целта...и може да се измисли и друг подход.....наистина работи (понякога).....
Та пич - ти си....дай повече инфо за какво ти е...пък може да го измислим ;)

P.S. (за бабатата)
Аз за това ли ти дадох DW 4.0, а?
Там си има HTML, CSS и JavaScript Refference...даваш -събитие , таг.......и ти казва имали го въобще и ако Да - кой и как го подържа....съответно с възможните events дето можеш да ги ползваш ;()))))

Толкова за сега от мен...
знам че Will98 и LeoS са по напред...както и virus...нека те кажат..

Bigger you give, Bigger you get
We're boss at denial
But best at forget
Отговор
в отговор на stipe #13

Re: не виждам как....

ми ако ти кажа, че още не съм го инсталирал, ти ще се обидиш, ама кога да стигна и до това... е преди три дни си преинсталирах Win, щото много липсващи DLL и висне... а като ми кажат, че след пет години ще караме коли със софт на чичко бил и ми се изправя косата... натискаш спирачка и ти изкарва алерт: липсва spirachka.dll, спирането невъзможно, моля опитайте отново по-късно или се свържете с дистрибутора...

Баба...


___________________________
Утрото е по-мъдро от сутринта...
Отговор
в отговор на БaбaИлиицa #14

Re: не виждам как....

;))))))))
хубаво е да разсмиваш хората преди из....;)))


Инсталирането е твой избор....искаше го - дадох ти го....това за refference ти го казвам за първи път май.....има и други източници,,и къде по верни..все пак DW-то вче е старо (донякъде)....;)

Bigger you give, Bigger you get
We're boss at denial
But best at forget
Отговор
в отговор на stipe #15

е така е....

ми ся съм си поръчал справочник за JS 1.3 ще ми го донесат тия дни... става дума за класически ХАРТИЕН справочник... ако те интересува, ще го взема с мен като се видим...

Баба...


___________________________
Утрото е по-мъдро от сутринта...
Отговор
в отговор на БaбaИлиицa #16

Re: е така е....

ами ще го вземеш ами....къде иначе...макар че аз чета главано от нета...там е най сигурно... а и теста с браузърите (които всички правим) е доказателство;)
по темата вече на бележки че се отнесохме, май

Bigger you give, Bigger you get
We're boss at denial
But best at forget
Отговор
в отговор на БaбaИлиицa #17

Re: абе имам една идея, ама не съм сигурен, че работи

има window.refresh (IE) и window.reload (NS 4.7+)
но няма OnRefresh & OnReload

Казвам само толкова, защото wili98 веднъж ме изкритикува, че давам готови решения за дипломни работи. И си беше прав човека :))

Новаторе, не е лошо да кажеш на финала, какви ще ги дробиш все пак...
Хубаво е да видим какъв ще е крайния резултат (чисто технически имам предвид - не самата страница) от хубавата тема, защото иначе умира. На мен например ми е много интересно какво ще избереш и как.

Отговор
в отговор на LeoS #18

еми не съм яваскриптаджия...

ами аз не познавам JS, но мислех чисто теоретико-практически, как може да се преодолее проблема по най-простия начин... Нали знаеш, че когато има няколко решения на един проблем, най-вероятното е най-простото! Затова предположих, че има такива събития (нещо от рода на onrefresh), но аз не знам, че ги има... Щом ги няма, ще му мислим друго решение...

Баба...


___________________________
Утрото е по-мъдро от сутринта...
Отговор