- Home
- Categorie
- Coding e Sistemistica
- HTML e CSS
- Problema con window.opener
-
Problema con window.opener
Ho uno strano problema con la funzione opener :
supponiamo che pagina1.htm apra pagina2.htm con una chiamata a window.open :<form name=FormCF> <input type="button" value="Pulsante" name="bottone" onclick="window.open('pagina2.htm','windCF','scrollbars=no,resizable=no,width=380,height=400,status=no,location=no,toolbar=no')" > </form>
la pagina pagina2.htm cerca di far riferimento al chiamante con il codice :
document.write ( window.opener.document.FormCF.bottone.value);
che dovrebbe stampare la scritta "Pulsante"
Tutto funziona se pagina1.htm e pagina2.htm sono nello stesso sito.
Se invece pagina2.htm è in un altro sito non viene stampato nulla perchè window.opener non è assegnato.:doppio:
Qualche idea ?
-
Credo sia a causa di restrizioni sugli script di js. Non puoi farci nulla, imho
-
Si, è un problema di protezione, ma ho scoperto che si può aggirare : basta che lo script chiamante dichiari nuove proprietà nell'oggetto document ad esempio
document.miopulsante=Form.pulsante
In questo modo l'altro script può leggere tramite opener.document.miopulsante
Con questo accorgimento l'esempio postato funziona.
Il problema è che la mia situazione è ancora più complicata :
In realta il primo script viene generato dinamicamente da una pagina asp con un espressione del tipo<Script src=generascript.asp></script>
in questo caso le cose tornano a non funzionare !!!!
-
bene sono da poco immerso nel mondo javascript ma da quello che so e che ----opener vuol dire chi mi a aperto --- quindi puoi solo manipolare i dati da padre a figlio, poi se ce un'altra soluzione al momento non lo so.
ciao