Avatar
Matej
Člen
Avatar
Matej:

Nazdar,

daju sa cez JS posuvat premenne, funkcie atd do noveho okna , resp. otvoreneho cez window.open alebo klasicky cez a tag ?
Alebo nato treba daky back-end jazyk.

Skusal som

var rodic="som rodic";
window.test=rodic;
document.getElementById("tlacitko").addEventListener("click",function(){
var x=window.open("blabla.html");
x.rodicstranky=rodic;
// na dalsej stranke
alert(x.rodicstranky);
alert(rodicstranky);
alert(window.opener.rodic);
alert(window.opener.test);
},true)

Avsak ziadna metoda neposunula
variabilnu do dalsej stranky

Dik za odpovede.

Editováno 7.1.2015 19:50
 
Odpovědět 7.1.2015 19:48
Avatar
admin
Člen
Avatar
admin:

Lze pres window.opener­.document.for­ms. :`

Editováno 7.1.2015 19:56
 
Nahoru Odpovědět 7.1.2015 19:55
Avatar
Matej
Člen
Avatar
Matej:

Neziskal by som tymto sposobom z "parent" stranky maximalne value nejakeho inputu v <form> ?

Editováno 7.1.2015 20:05
 
Nahoru Odpovědět 7.1.2015 20:05
Avatar
Odpovídá na Matej
Michal Žůrek (misaz):

Jde si proměné uložit do session storage nebo lze stránkám přes speciální API (postMessage API) posílat informace.

Přes session storage to lze uložit do "registru" klíš-hodnota.

// uložit do session
window.sessionStrage.set("klic", "hodnota");
// načíst ze session
hodnota = window.sessionStorage.get("klic");

Nezapomeňte že session v JavaScriptu není závislý na session v PHP, tahle to nejde. Jen kdyby to někdo netušil. :)

Na stack overflow je na můj vkus dost hnusné řešení, že data uložíte do cookies a ty pak v intervalu aktualizujete. No...

Řešení přes postMessage API to lze provést následovně.

// odelsat zprávu, odesilátelem se certifikuješ abys nezpracovával cizí zprávy...
window.postMessage("zprava", "odesilatel");

// přijetí zprávy
window.addEventListener("message", function(event) {
    if (event.origin === "odesilatel") { // zkontroluješ odesílatele
        zprava = event.data;
    }
});
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 8.1.2015 7:50
Nesnáším {}, proto se jim vyhýbám.
Avatar
Matej
Člen
Avatar
Odpovídá na Michal Žůrek (misaz)
Matej:

Session storage ma napadlo ale napacila sa mi ta metoda , postMessage je to co som hladal :)

takze "zprava" = data ktore chcem poslat a "odesilatel" je URL z ktoreho to chcem poslat? //MDN mi nejako nechce nacitat

 
Nahoru Odpovědět 8.1.2015 15:03
Avatar
Odpovídá na Matej
Michal Žůrek (misaz):

Odesilatel by měla být doména na které script bezi, ale nezkoušel jsem to, tak nevím.

Nahoru Odpovědět 8.1.2015 15:52
Nesnáším {}, proto se jim vyhýbám.
Avatar
Matej
Člen
Avatar
Odpovídá na Michal Žůrek (misaz)
Matej:

Ok dik , MDN uz bezi , Odesilatel=stranka na ktoru chcem dane data poslat

Editováno 8.1.2015 15:58
 
Nahoru Odpovědět 8.1.2015 15:57
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 7 zpráv z 7.