Handle v iframe nefunguje
- Stejsi
- Člen | 21
Ahoj všem! Mám menší problém.
Otevřu stránku naprogramovanou v Nette 3.0.2 a zavolám handle, např.
delete.
Uvnitř handlu je jenom log a přesměrování:
public function handleDelete($id){
Debugger::barDump("smazáno");
Debugger::log("smazáno");
$this->redirect("Folders:default");
}
vše se provede v pohodě a v tracy i vlogu je „smazáno“ viz obr. Volání ok
Poté tu stránku načtu do iframu (načtení probíhá z jiné domény –
localhostu).
Volání zopakuji, v konzoli prohlížeče se se vše tváří stejně, provede
se přesměrování, ale to co je v handlu se neprovede, tzn. že v tracy ani
v logu není „smazáno“.
viz. obr. Volání neúspěšné
Volání v Application/UI/Presenter metodě redirectUrl na řádku 658 po otestování isAjax() vrátí 302, ale to udělá i když to volám na stránce a ne v iframu.
Request cookie z iframu neobsahuje příznak same-site 1 .
v nastavení mám
http:
frames: true
session:
cookieSamesite: null
Cením si jakékoliv pomoci, či rady!
Editoval Stejsi (23. 10. 2019 11:28)
- MajklNajt
- Člen | 498
David ti už odpovedal v pôvodnom vlánke https://forum.nette.org/…resit-iframe#… načo zakladáš nové?
- David Grudl
- Nette Core | 8227
Jen doplním, že problém není přímo v tom, že je v iframe, ale že je
z jiné domény, než samotná stránka. Proto je potřeba doplnit anotaci
@crossOrigin
.
- Stejsi
- Člen | 21
David Grudl napsal(a):
Jen doplním, že problém není přímo v tom, že je v iframe, ale že je z jiné domény, než samotná stránka. Proto je potřeba doplnit anotaci
@crossOrigin
.
Kura, David to je bedna!!!
Díky moc!
MajklNajt napsal(a):
David ti už odpovedal v pôvodnom vlánke https://forum.nette.org/…resit-iframe#… načo zakladáš nové?
Zrovna jsem smolil tohle, tak jsem si nevšimnul že mi tam David napsal.