Browser popup di nuovo al browser principale dopo aver raggiunto una determinata pagina

StackOverflow https://stackoverflow.com/questions/613079

  •  03-07-2019
  •  | 
  •  

Domanda

Ho un popup (che ho usato per necessità) che si apre facendo clic su un collegamento. Ho l'utente che passa attraverso una serie di pagine che selezionano gli attributi per poi essere inviati a un carrello.

Il mio problema: dopo che l'utente ha raggiunto la fine del processo di selezione, voglio eliminare il popup aperto e inviare la richiesta al browser originale (padre) in modo che l'utente possa effettuare il checkout.

Hai idea di come lo farei?

È stato utile?

Soluzione

Javascript: nella finestra figlio (popup).

window.opener.location = 'page.html";
window.close();

È quello che stai cercando?

Altri suggerimenti

È possibile accedere alla finestra principale usando " apri " in JavaScript. Esempio:

window.opener.title='hello parent window';

o

window.opener.location.href='http://redirect.address';

Script nel mio modulo figlio:

<script language="JavaScript" type="text/javascript">
    function SetData() {
        // form validation
         // var frmvalidator  = new Validator("myForm");
        // frmvalidator.addValidation("name","req","Please enter Account Name");

        // get the new dialog values
        var str1 = document.getElementById("name").value;
        var winArgs = str1;

        // pass the values back as arguments
        window.returnValue = winArgs;
        window.close();
        document.myForm.submit();
    }
</script>

Script nel mio formato genitore:

<% @account_head= current_company.account_heads.find_by_name("Sundry Debtors")%>
<script type="text/javascript">
    function OpenDialog() {
        var winSettings = 'center:yes;resizable:no;help:yes;status:no;dialogWidth:450px;dialogHeight:200px';

        // return the dialog control values after passing them as a parameter
        winArgs = window.showModalDialog('<%= "/accounts/new?account_head_id=#{@account_head.id} #man" %>', winSettings);

        if(winArgs == null) {
            window.alert("no data returned!");
        } else {
            // set the values from what's returned
            document.getElementById("to_account_auto_complete").value = winArgs;
        }
    }
</script>

Questo è un lavoro ma non come voglio, nessuno se trova una buona soluzione, per favore, suggeriscilo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top