Přiřazení eventu adresovému řádku – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Přiřazení eventu adresovému řádku – JavaScript, AJAX, jQuery – Fórum – Programujte.comPřiřazení eventu adresovému řádku – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

ZorZ
~ Anonymní uživatel
7 příspěvků
23. 9. 2008   #1
-
0
-

Zdravím,
ve stránce měním parametry za adresou javascriptem např. nejakyweb/default.aspx#param1=hodnota1. Jde mi o to, aby když změním hodnotu param1 v adresovém řádku ručně, tak na enter se spustila fce která parametr přečte a odešle na server. Browser jinak změnu za "#" ignoruje a request se na enter neodešle. Místo "#" nemůže být "?"(což na enter funguje) neboť by se při změně param1 z js stránka odeslala okamžitě(změna location). Jde mi o přiřazení eventu onkeydown na adresní řádek nebo něco podobného..

Nahlásit jako SPAM
IP: 194.228.224.–
23. 9. 2008   #2
-
0
-

Nerad rikam, ze neco nejde, ale tohle je na 99.999999999% ten pripad :)

Adresni radek neni objekt, se kterym by v JS slo pracovat. A mam takovy pocit, ze ani vlasni skoky mezi linky v ramci stranky detekovat nejdou (snad jen onclickem na odkaz s true jako navratovou hodnotou).

Nahlásit jako SPAM
IP: 78.102.164.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
ZorZ
~ Anonymní uživatel
7 příspěvků
23. 9. 2008   #3
-
0
-

To CommanderZ : Jde to nějak určitě - třeba mapy.cz. Možná to není přes listener na adrese ale zatím netuším jak..

Nahlásit jako SPAM
IP: 194.228.224.–
Prog.0
Věrný člen
23. 9. 2008   #4
-
0
-

Takýto event nebude. Teoreticky môžeš stále dokola kontrolovať href a pri zistení zmeny event ručne vyvoláš. Neskúšal som, no mohlo by to ísť...


var last_href = window.location.href;

setInterval(function()
{
if (last_href !== window.location.href)
{
last_href = window.location.href;
alert('adresa sa zmenila: ' + window.location.href);
}
},100);

Nahlásit jako SPAM
IP: 213.160.186.–
Prog.
ZorZ
~ Anonymní uživatel
7 příspěvků
23. 9. 2008   #5
-
0
-

To Prog. : Ta kontrola tam určitě je, ovšem fce zpracovávající změnu parametru se musí spustit pouze na událost onenter, jinak by se fce spouštěla již při psaní a ne po potvrzení enterem..

Nahlásit jako SPAM
IP: 194.228.224.–
pawlik0
Grafoman
23. 9. 2008   #6
-
0
-

To fakt asi nepůjde.

Nahlásit jako SPAM
IP: 84.42.151.–
Sa Nata A Na. Howgh
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
23. 9. 2008   #7
-
0
-

To pawlik : Přišel jsem na způsob, využiju zaostření dokumentu na enter z adresy a porovnám adresu před a po kvůli zaostření odjinud..

Nahlásit jako SPAM
IP: 194.228.224.–
Prog.0
Věrný člen
23. 9. 2008   #8
-
0
-

ZorZ napsal:
To Prog. : Ta kontrola tam určitě je, ovšem fce zpracovávající změnu parametru se musí spustit pouze na událost onenter, jinak by se fce spouštěla již při psaní a ne po potvrzení enterem..


Skúsil som to spustiť a chová sa mi to presne tak, ako potrebuješ... kým nedám enter, location.href sa nezmení, "event" sa nevyvolá... (firefox 3).

Nahlásit jako SPAM
IP: 213.160.186.–
Prog.
ZorZ
~ Anonymní uživatel
7 příspěvků
24. 9. 2008   #9
-
0
-

To Prog. : Tento způsob opravdu funguje a i cross browsery, jen mě mrzí ten interval na pozadí a musel bych mít semafor v případě změny adresy odjinud (z js). Způsob focusu zase zaostřuje v každém browseru něco jiného(document-ff, ope; window-ie) a teoreticky můžu změnit adresu v řádku bez enteru a vyvolat focus, což se mi zatím nepodařilo. Ovšem mám teď 2 způsoby :)

Nahlásit jako SPAM
IP: 194.228.224.–
Prog.0
Věrný člen
24. 9. 2008   #10
-
0
-

To ZorZ : Kým tú zmenenú adresu v browseri nepotvrdíš (napr. enterom), tak sa do location.href nezapíše, čiže sa ti to ani nepodarí. Neviem prečo rozmýšlaš nad nejekými "semaformi", veď ten spôšob zachití všetky zmeny adresy, či už zadané užívateľom, alebo scriptom. Ten interval na pozadí ťa mrzieť nemusí, keďže je tam len jedna podmienka nijako nezaťaží vykonávanie. Prípadne si môžeš ten interval zväčšiť, napr. na 500ms, myslím že ani mapy.cz nereagujú okamžite.

Nahlásit jako SPAM
IP: 213.160.186.–
Prog.
ZorZ
~ Anonymní uživatel
7 příspěvků
24. 9. 2008   #11
-
0
-

To Prog. :Právě že pokud to měním skriptem tak nechci aby to zareagovalo na změnu ale to je jen otázka programového vyřešení. Mapy mají 200ms.

Nahlásit jako SPAM
IP: 194.228.224.–
Prog.0
Věrný člen
24. 9. 2008   #12
-
0
-

zmenu bez vyvolania eventu vykonas jednoducho:

window.location.href = last_href = '...nova_#_url...';

Nahlásit jako SPAM
IP: 213.160.186.–
Prog.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 5 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý