2016-07-25 9 views
0

Ich versuche, einen Dialog zu öffnen, um Anmeldeinformationen einzugeben, aber nach der Umleitung zurück von der Login-Berechtigung bin ich nicht länger in der Lage, das Elternteil des Dialogfensters mit Berechtigungscodes oder Tokens zurückzumelden. Wenn ich nicht von der Seite weg umadressiere, kann ich eine Nachricht an den Elternteil zurücksenden, ansonsten bekomme ich den Fehler im Titel. Wie kann ich das übergeordnete Fenster (in diesem Fall den Aufgabenbereich) mit Informationen aus dem Dialogfeld benachrichtigen?"Objekt unterstützt keine Eigenschaft oder Methode 'messageParent'" Nach Login Umleitung in Office js

Unten ist der Code Ich habe das Dialogfenster zu öffnen und zu handhaben:

var dialog; 
function authenticate() { 
    hideAll(); 
    Office.context.ui.displayDialogAsync('mydomain/Login', 
     { height: 50, width: 25 }, dialogCallback); 
} 

function dialogCallback(asyncResult) { 
    if (asyncResult.status === 'failed') { 
     console.log(asyncResult.error.message); 
    } else { 

    dialog = asyncResult.value; 
    dialog.addEventHandler(Microsoft.Office.WebExtension.EventType. 
     DialogMessageReceived, messageHandler); 
    dialog.addEventHandler(Microsoft.Office.WebExtension.EventType. 
     DialogEventReceived, eventHandler); 
    } 
} 

function messageHandler(arg) { 
    showAll(); 
    console.log(arg); 
    dialog.close(); 
} 

function eventHandler(arg) { 
    showAll(); 
    console.log(arg); 
} 

Hier ist der Code, den Anmeldungsbildschirm Griffe:

Office.initialize = function (reason) { 
$(document) 
    .ready(function() { 
     var code = $('#code').text(); 
     if (code !== '') { 
      console.log(code); 
      Office.context.ui.messageParent(code); 
     } else { 
      console.log('No code received from auth server'); 
     } 
    }); 
}; 

Antwort

1

Das Problem wird gelöst, indem sie sicher, dass ich landete zuerst auf einer Seite meiner Domain. Ich leitete ursprünglich einen Controller, der von meiner Domain umgeleitet wurde, aber noch keine Seite zurückgegeben hatte.