Avatar
Petr
Člen
Avatar
Petr:13. července 16:36

Mám program (v PHP) a výsledek si zobrazuji v prohlížeči. (localhost) Pak stejný program spustím v druhé záložce (Firefox). Potřebuji zjistit, ve které záložce jsem kliknul na nějakou volbu.
Přes cookies to nefunguje, vždy se reaguje na poslední klik bez závislosti ve které záložce to bylo, i když cookies rozliším.

Zkusil jsem: setcookie($co­okie_name, $cookie_value) se neprojeví hned, ale až po dalším načtení stránky. Když je to ve vedlejší záložce, tak je to zle. Přímým zápisem do $_COOKIE to také nejde.
Možná jiná technologie? (Na stejný program, na jinou HTTP to samozřejmě jde.)

Chci docílit: Lze nastavit samostatnou paměťovou oblast pro záložku, aby Firefox nereagoval na cizí klik v jiné záložce?

 
Odpovědět 13. července 16:36
Avatar
Matěj Strnad:13. července 20:06

Do GET jsi uložíš nějaké ID a v PHP to např. pomocí DB poznáš...

Nahoru Odpovědět 13. července 20:06
Ty vaše internety!
Avatar
Jiří Mrázek:13. července 20:51

Myslím si, že Petr nechtěl zrovna tohle. Petr podle mě chce zjistit, zda-li byla hodnota již odeslána pomocí jiné záložky a pokud ano, tak vykonat akci, která následuje po odeslání.

Pokud by šlo v mém případě o příklad, tak by to mohl být vícekrokový nákupní košík.

Co to řešit nějak takhle?

$sent = $_SESSION["sent"];
$_SESSION["sent"] = $_GET["p"];

$same = ($sent == $_SESSION["sent"]);
echo $same ? "ano" : "ne";

Pokud jsem nepochopil tvůj požadavek správně, zkus to popsat lépe prosím. :-)

 
Nahoru Odpovědět 13. července 20:51
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:16. července 12:22

Viz ostatni, prihlas tam uzivatele, jakoby.
Pridej do stranky nejaky parametr, ktery pridas ke vsem odkazum a formularum.
< a href=\"odkaz?p=a\"> <form><input type=hidden p=a>
< a href=\"odkaz?p=b\"> <form><input type=hidden p=b>
Javascriptem by se to dalo mozna podchytit pres zachytavani onclick na odkazech a onsubmit na formularich. Nebo mozna pres window.onunlo­adbefore. Ale, co kdyz tam mas ajaxy?

Session nevim, zda by sly pouzit. V ramci jedne domeny se prenaseji do druheho okna.
Ale, slo by, pokud to delas teda jako localhost (nebo na serveru), vytvorit si druhou domenu (? ip adresu; Asi pres htaccess nebo nejak pres server. Nebo mozna i s pomoci editace ve win
C:\Windows\Sys­tem32\drivers\et­c\hosts
127.0.0.1 localhost #ipv4
::1 localhost #ipv6
-- ale tohle pouzivam spis na blokaci reklam, presmeruji adresu na 127.0.0.1, pr
127.0.0.1 popads.net

Editováno 16. července 12:23
 
Nahoru Odpovědět 16. července 12:22
Avatar
Vladislav Ladicky:16. července 18:48

Presne na ten účel existuje Broadcast Channel API. Vo FF funguje, aj v Chrome. Aj na mobiloch. Ostatnými prehliadačmi si však nie som istý.

 
Nahoru Odpovědět 16. července 18:48
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.