so rufen Sie Fenster onunload-Ereignis für die iFrame-Taste, klicken Sie auf die übergeordnete Seite und der iFrame befindet sich in einer anderen domain

Ich habe die Schaltfläche, öffnet sich ein iFrame (die sich in der Domäne sagen, 'xyz') das iFrame lädt die Seite, welche sich in einer anderen Domäne (sagen wir 'lmn')

$("#templateSelectionFrame").get(0).contentWindow.location.href = url;

url von einer anderen Domäne (ich kommunizieren in verschiedenen Domänen mit Jquery 'POSTMESSAGE')

wenn Benutzer auf die Schaltfläche Abbrechen iFrame muss ich schließen Sie die iFrame-aber zuvor ist es nötig zu zeigen, dass Sie die Seite verlassen Nachricht (dh. bleiben Sie auf der Seite /leave Seite - das ist alreday rief window.onbeforeunload).

var warnNavigateAway = true;

window.onbeforeunload = confirmBrowseAway;

//Called then user leave window without saving content.
function confirmBrowseAway() {
    if (warnNavigateAway) {
        return "If you leave this page, your work will be lost ...";
    }
}

function documentSaved() {
   warnNavigateAway = false;
}

function documentDirty() {
   warnNavigateAway = true;
}


<div id="bottomBar">
   <button class="cancelBtn" onclick="GoBack()">Cancel</button>
</div>

wie rufe ich die gleiche Seite verlassen Nachricht, so dass ich in der Nähe der iFrame, wenn der Benutzer klickt verlassen Seite angezeigt.

function GoBack() 
{
   var operationType = '<%: (Model.OperationType)%>';
   if (operationType == "Create")
   {
      window.history.back();
   }
   else {     
      $.postMessage(
         'closeIFrame',
         parentUrl,
         parent
      );
   }
}

(navigation: button Abbrechen -> Seite verlassen-Meldung -> wenn(Aufenthalt auf der Seite dann 'nichts zu tun') if(verlassen der Seite ) -> schließen Sie das iFrame)

InformationsquelleAutor Uttam | 2012-10-04

Schreibe einen Kommentar