sto aprendo un popup dalla mia pagina principale con codice come questo:Come scollegare popup JavaScript da opener
<a href="http://external.domain.tld/"
onclick="window.open(this.href, '_blank',
'width=512,height=512,left=200,top=100');return false">
Open popup
</a>
Questo funziona bene, ma il mio problema è che il documento che viene caricato nella finestra pop-up ha il permesso di cambiare la posizione della finestra di apertura. Funziona anche quando il documento nel popup proviene da un dominio diverso. Non ha il permesso di leggere la posizione ma è consentito modificare la posizione. Non lo voglio Voglio che il popup sia completamente disconnesso dalla mia pagina principale.
Anche senza JavaScript non funziona. Quando apro l'altra pagina in una nuova scheda utilizzando l'attributo target="_blank"
allora questa scheda è ancora permesso di navigare nella finestra opener
e cambiare la sua posizione:
<a href="http://external.domain.tld/" target="_blank">
Open in new tab
</a>
Questo è il codice nel documento aperto, che non dovrebbe essere consentito:
<script>
opener.location.href = "http://badsite.tld/";
</script>
È possibile visualizzare una demo dal vivo here. Fare clic su uno dei due collegamenti per aprire un'altra pagina in un popup o in una nuova scheda che carica una terza pagina nella finestra di apertura. Questo è quello che sto cercando di prevenire.
C'è qualche trucco che posso usare per interrompere la connessione tra la finestra di apertura e la finestra aperta? Idealmente la finestra aperta non dovrebbe sapere che è stata aperta da qualsiasi altra finestra.
Siete sicuri non hai impostazioni su quei domini. Uno è un sottodominio dell'altro e con impostazioni specifiche è consentito l'accesso all'altro dominio. – putvande
@putvande Sì, ne sono sicuro. La demo utilizza diversi sottodomini (perché ho solo accesso a un dominio). Ma il vero problema su un server di produzione utilizza domini completamente diversi e non ci sono regole speciali da nessuna parte. La finestra aperta non ha permessi di leggere o chiamare nulla dalla finestra di apertura, quindi le stesse restrizioni di origine funzionano correttamente. Semplicemente non si applicano a CAMBIARE l'href della posizione della finestra di apertura. – kayahr