[Stránka k testování javascriptu: Otevře sekundární okno, kde se nacházejí tlačítka sloužící ke spouštění JS kódu (který je na nich zobrazen). Funguje 100%.]
1.PROBLÉM S OTVÍRÁNÍM
Zatímco varianta s automatickým otevřením sekund.okna (je třeba deaktivovat popup/blocker) funguje na 100% [přímé volání funkce openSEKUND() ],
tak pokud toto volání smažu a k otevření použiju tlačítko <OPEN> s onclick='openSEKUND()', bude se okno otevírat jen v IE6/IE7 - proč nejde O+FF ???.
[....rád bych věděl,jestli umí IE7 to co IE6,FF,Opera = otevřít sekund.OKNO a ne ZÁLOŽKU /jako je tomu u mne/...]
2.PROBLÉM S UKONČENÍM
Hlavní stránka obsahuje tlačítko <QUIT> k ukončení (zavře obě okna). Nevíte jak ho zprovoznit v FF - v ostatních browserech funguje?
Zařadil jsem mezi testované kódy: opener.close() = ukončení ze sekundárního okna (v IE6 a Opeře v pořádku).
- v FF žádná akce
- v IE7 dojde na několik desítek sekund k zamrznutí nejen stránky ale okna se všemi záložkami. Pak se normálně provede close - kde se ta prodleva bere ? (jen bych rád věděl, jestli je to i u vás normální, anebo mám něco v nepořádku !!!)
Díky předem za informace/řešení
<!-- Testováno a plně funkční: IE 6/7 Opera9 FF2 -->
<html><head><title>Change FORM ELEMENT from OPENER</title>
<style> button {display:block; margin:1ex }</style>
<script>
var win;
function insertButton(txt){
win.document.write("<button type=button onclick='pB=document.formB.paramB.value++;",txt,"'");
win.document.write("style='display:block; text-align:left;width:95%;margin:1ex'>",txt,"</button>");
}
function openSEKUND(){
win = window.open("about:blank","child","top=350,width=450,height=350,resizable");
win.document.open();
win.document.write("<html><head></head><body> <form name='formB'>");
win.document.write("Číslo [pB]: <input name='paramB' type=text value='0' /><hr />");
/***************************>Tlačítko provede zobrazený JS kód<***************************/
insertButton("opener.document.forms[0].elements[0].value = pB ");
insertButton("opener.document.forms[0].paramA.value = pB ");
insertButton("opener.document.jmeno.paramA.value = pB ");
insertButton("opener.document.getElementById(\"jmeno\").paramA.value = pB ");
insertButton("opener.document.getElementById(\"idA\").value = pB ");
insertButton("opener.document.all.idA.value = pB ");
insertButton("opener.close() /* Zavře openera */ ");
/**************************> (po akci je zvýšen pB: paramB++) <*****************************/
win.document.write("</form> </body></html>");
win.document.close(); win.focus();
}
openSEKUND(); /* Automatické otevření. Zkus smazat, a pak používat <button onclick='openSEKUND()'> OPEN ...*/
</script>
</head>
<body onunload="win.close()">
<form name='jmeno' id='jmeno'>
<input name='paramA' id='idA' type=text value='' /> <hr />
<button onclick='openSEKUND()'> OPEN </button> /* Při automatickém otevření nepoužívat */
<button onclick='window.close()'> QUIT </button>
</form>
</body >
</html>