Autor | Zpráva | ||
---|---|---|---|
Medvídek Profil |
#1 · Zasláno: 31. 10. 2009, 22:19:56
Mam hlavní doménu www a subdomenu filez. Z domény www chci otevřít soubor vypis.php, který je na subdoméně filez. V souboru vypis.php mam js fci:
<script language="JavaScript"> function funkce(vlozit) { window.opener.document.getElementById('urlmp3').value = vlozit; window.close(); } </script> a v okně, které tento skritp otevřelo mám input s id urlmp3. Skript je funkční, pokud to udělám v rámci domény www, ale ze subdomény filez už to nefunguje (Chamurappi tuším někde psal, že je komunikace mezi subdoménama blokovaná). Dá se to nějak obejít ? |
||
imploder Profil |
#2 · Zasláno: 31. 10. 2009, 22:31:12 · Upravil/a: imploder
Medvídek:
Nedávno jsem zkoušel různé věci s bookmarklety (tj. JS, co je uložený v záložce, a po kliknutí se provede na té stránce, která je otevřená) a když jsem na ten bookmarklet kliknul v okně s nějakou nějaké cizí stránkou, tak okno, které otevřel, na to původní okno ve window.opener vidělo. EDIT: tak to bude jiný případ, protože skript v bookmarkletu se vlastně otevře na doméně zrovna otevřené stránky, takže obě okna měla stejné domény, zatímco tady je původní stránka na doméně www a z ní se otevírá okno se skriptem na doméně filez. |
||
Chamurappi Profil |
#3 · Zasláno: 31. 10. 2009, 22:37:55
Reaguji na Medvídka:
Obecně je komunikace napříč doménami blokovaná z bezpečnostních důvodů. Bariéra mezi subdoménami jde v některých prohlížečích částečně probourat, pokud nastavíš v obou dokumentech document.domain na doménu druhého řádu. (Je to trochu alchymie.) Reaguji na implodera: Bookmarklet se spouští v kontextu právě navštívené stránky. Kdyby to otevřené okno opravdu nalistovávalo stránku z jiné domény, nemělo by to fungovat. |
||
Medvídek Profil |
#4 · Zasláno: 31. 10. 2009, 22:39:21 · Upravil/a: Medvídek
Chamurappi:
Chápal bych mezi doménami 2. řádu. Ale mezi subdoménama mi to přijde poněkud divné. EDIT: Vykašlal jsem se na to a udělal na www soubor, kde sem použil file_get_contents a funguje to. |
||
Časová prodleva: 14 let
|
0