2017-10-17 4 views
1

J'essaie d'afficher une boîte de dialogue à partir d'un plug-in Outlook JS exécuté dans la version Office 2016 d'Outlook 2016 (récemment mis à jour, EXE version 16.0.8431.2107).Office.js displayDialogAsync déclenche une erreur interne

Le code j'entre dans la console F12 débogueur est la suivante:

Office.context.ui.displayDialogAsync(
    window.location.origin, 
    {width: 500, height: 500}, 
    function(result) { 
     console.log(result) 
    } 
); 

Le résultat retourné est

error:{ 
    code: 5001, 
    message: "Ein interner Fehler ist aufgetreten.", 
    name: "Interner Fehler" 
}, 
status: "failed", 
value: undefined 

et aucun dialogue est ouvert.

Est-ce que je donne sur des exigences étranges là-bas?

+0

Exécutez-vous le complément dans le client OWA ou Windows Outlook? – grg

+0

@grg Dans le client Windows Outlook 2016, EXE version 16.0.8431.2107. – Alexander

+0

Essayez de définir des valeurs de largeur et de hauteur inférieures à 100 car il s'agit de pourcentages de la fenêtre parent que la boîte de dialogue doit occuper. – grg

Répondre

0

Le problème est résolu.

J'ai dit

récemment mis à jour

et a oublié de mentionner que je ne l'ai pas mise à jour et redémarrer entre mon test (Office ne m'a pas dit à). Il semble qu'un redémarrage a fait l'affaire; Je reçois maintenant une fenêtre de dialogue.

1

Si vous êtes en mesure de déboguer votre script F12, pouvez-vous vérifier la sortie de window.location.origin. Office Add-in est basé sur Internet Explorer et utilise un paramètre de sécurité spécial. IE peut désactiver window.location.origin dans ce cas.

Sur ma propre machine, je peux voir qu'elle renvoie 'indéfini', donc dans ce cas vous passez undefined comme url, et l'API échoue.

Si vous avez installé le dernier IE, assurez-vous que dans votre page html, il a la balise meta suivante. Cela forcera Office Add-in à utiliser le dernier paramètre IE au lieu du mode d'affichage compatible.

<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>