2017-11-18 4 views
1

ich zufällig diesen Fehler in der Konsole dann ‚Ausführen‘ pane meiner Excel 2016, wenn ScriptLab mit:ScriptLab Fehlermeldung zufällig

[ 
    "Script error.", 
    "https://appsforoffice.microsoft.com/lib/1/hosted/office.js", 
    0, 
    0, 
    undefined 
] 

Diese Konsole Fehlermeldung meines Projekt nicht sofort nach dem ‚Bereitstellen‘, befindet, aber ein paar Sekunden später.

Mein Projekt läuft normal ohne Konsolenfehler und funktioniert wie erwartet, zäh.

Ist das ein Fehler?


EDIT: Ich konnte ein sehr kleines YAML-Snippet erstellen, das das Problem zeigt. Versuchen Sie, dieses Beispiel auszuführen. Ich habe herausgefunden, dass der Fehler nicht mehr auftritt, wenn Sie die Zeile Office.initialize auskommentieren.

name: Test 
description: Reproduce bug 
author: FelipeCostaGualberto 
host: EXCEL 
api_set: {} 
script: 
    content: |- 
     //Office.initialize = function (reason) { 
      $(function() { 
       console.log("Test"); 
      }); 
     //}; 
    language: typescript 
template: 
    content: "<!DOCTYPE html>\n<html>\n<head>\n\t<script src=\"https://appsforoffice.microsoft.com/lib/1/hosted/office.js\" type=\"text/javascript\"></script>\n</head>\n<body>\n</body>\n</html>" 
    language: html 
style: 
    content: '' 
    language: css 
libraries: | 
    [email protected]/client/core.min.js 
    @types/core-js 

    [email protected] 
    @types/jquery 
+0

Passiert das mit * allen * Schnipseln (einschließlich der Beispielschnipsel), oder mit nur einem bestimmten? Wenn es nur eine bestimmte ist, können Sie den Code freigeben (und ihn als einen Fehler auf https://github.com/OfficeDev/script-lab/issues ablegen) –

+0

Ich legte ein Beispiel YAML, das das Problem in der Post zeigt . –

Antwort

0

Wenn Sie Script Lab verwenden, benötigen Sie kein vollständiges HTML oder Office.initialized. Das ist die Schönheit davon! Sie können sich nur auf den relevanten Code konzentrieren, der in Ihrem Fall nur console.log("test") ist, und einen leeren HTML-Code. (Für einen realeren Anwendungsfall könnten Sie eine Schaltfläche im HTML-Code und einen Klick-Handler mit einer Art API-Manipulation in der JS definieren).

Beachten Sie, dass Sie die Office.js-Referenz als Teil der Registerkarte Bibliotheken benötigen.

Werfen Sie einen Blick auf einige der anderen Script Lab-Beispiele (oder sogar das grundlegende Beispiel für "neues Snippet"), um zu sehen, wie es aussehen könnte.

+0

Danke, das muss das sein. Es gibt einen Grund, warum ich die volle HTML-Struktur in meinen Script Lab-Projekten verwende: Bequemlichkeit. Ich verwende Atom, um UI, Script Lab für den Excel-Teil und dann VS für die Bereitstellung zu erstellen. Ich richte meine Projekte so ein, dass ich sie einfach kopieren und einfügen kann, damit sie in allen Platforms funktioniert. 'Office.initialized' löste mein Problem, zäh. –