Autor | Zpráva | ||
---|---|---|---|
Papiš Profil |
#1 · Zasláno: 30. 3. 2007, 22:27:11 · Upravil/a: Papiš
Dobrý den.
Prosím potřeboval bych poradit jak udělat následující věc... Z jednoho okna si javou otevřu jiné: okno = window.open("http://www.web.cz/stranka.htm", "okno", "") A teď bych potřeboval uložit nějakou hodnotu do textového pole, které je na té nově otevřené stránce, a také umět hodnotu z tohoto textového pole přečíst a uložit do proměné. Když zkusím toto(p1 je id onoho textového pole): okno.document.getElementById('p1').value = "ahoj" tak to nejde a ve stavovém řádku IEv6 to píše "Přístup byl odepřen." To samé to píše, když se z toho pole pokusím číst, nebo když se pokusím použít na to nově otevřené okno: okno.scroll() Přitom metody focus() , blur() , close() , open() na to fungujou v pohodě. Prosím poraďte mi někdo. Děkuji. |
||
Dero Profil |
#2 · Zasláno: 30. 3. 2007, 22:43:07
Nemůžeš manipulovat s obsahem otevřeného okna, pokud se jeho obsah nenachází na stejně doméně jako skript, který okno otevřel. Říká se tomu cross-site scripting a přestože existují metody, jak to obejít, příliš to nedoporučuji.
focus(), blur(), open() a close() fungují, protože se vážou k objektu okna, nikoliv jeho obsahu. |
||
Alphard Profil |
#3 · Zasláno: 30. 3. 2007, 22:45:40
jen doplním
Z jednoho okna si javou otevřu jiné: okno = window.open("http://www.web.cz/stranka.htm", "okno", "") javascript != java |
||
Papiš Profil |
#4 · Zasláno: 30. 3. 2007, 23:10:24 · Upravil/a: Papiš
[i]Nemůžeš manipulovat s obsahem otevřeného okna, pokud se jeho obsah nenachází na stejně doméně jako skript, který okno otevřel. Říká se tomu cross-site scripting a přestože existují metody, jak to obejít, příliš to nedoporučuji.
focus(), blur(), open() a close() fungují, protože se vážou k objektu okna, nikoliv jeho obsahu.[/i] Ano, děkuji za odpověď. Ale v mém případě se obě okna na stejné doméně nacházejí. (to www.web.cz/stranka.htm sem si vymyslel takže jestli existuje je to náhoda) První okno je třeba www.web.cz/stranka1.htm a druhé www.web.cz/stranka2.htm Uvedu raději konkrétně na co to potřebuji. Mněl sem takovou představu, že by zákazník kliknul na jedné mojí stránce na objednávací číslo produktu, následně by se otevřela objednávka, kde by se do patřičného řádku-textového pole vyplnilo objednávací číslo. To je vše. Jediné co mi nefunguje je právě to vložení čísla....píše to Přístup byl odepřen, jak sem výše popisoval, nevím proč. |
||
Dero Profil |
#5 · Zasláno: 30. 3. 2007, 23:24:02
Papiš: Předáváš funkci open relativní nebo absolutní adresu ke stránce?
|
||
peta Profil |
#6 · Zasláno: 1. 4. 2007, 11:16:52 · Upravil/a: peta
Papiš
1. display:block; display:none; 2. take muzes window.open(URL.php?parametry), parametry normalne zpracujes (GET -> cookies, php, session, sql) 3. Mozna window.opener (jakpsatweb - javascript - objekt window) 4. JS Ajax request = odesilani stranky na pozadi javascriptem nestaci pouzit klasicke HTML + PHP ? <a href=kosik.php?action=add&id=5 target="kosik"> akce = pridej ; id = cislo zbozi -> GET -> SQL -> Data -> SESSION++ pri uspesnem odeslani kosiku na mail smazes sesny http://www.volny.cz/peter.mlich/www.htm#mssub11 JS+Cookies Nakupni kosik (3k+2k+3k) JS cookies podobne reseni pres JS COOKIES (kdyz je ake uzivatel nema povolene, kosik nefunguje) |
||
Papiš Profil |
#7 · Zasláno: 1. 4. 2007, 17:44:08
Děkuji za všechny rady a tipy, už sem to vyřešil.
Důvod proč mi to nešlo byl, že sem to spouštěl z pevnýho disku počítače. Jedna stránka se načetla z disku a druhá ze stránek na netu...to nemůže jít :) Vubec sem si to neuvědomil. Teď už všechny ty metody šlapou jak maj. Dero, měl si vlastně pravdu že se obě stránky nenacházeli na stejné doméně. Takže moc dík všem co jste napsali, a omlouvám se že sem otravoval s takovou blbostí :) |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0