2017-03-07 2 views
6

Die offizielle Version von office.js hier brechen:Office.js zunichte macht Browser-History-Funktionen Geschichte Nutzung

https://appsforoffice.microsoft.com/lib/1/hosted/office.js 

Es enthält die folgenden Zeilen im Code:

window.history.replaceState = null; 
window.history.pushState = null; 

Dieser Teil der bricht Verlaufsfunktionalität in meinen Excel-Add-Ins (Ich verwende react und react-router)

Warum Office.js annulliert diese History-Funktion s? Ich kann keine Erklärung in der Dokumentation finden.

+0

Lassen Sie mich darauf mit dem Team –

Antwort

5

Das in Excel verwendete Browser-Steuerelement unterstützt keine Verlaufs-API. Wenn replaceState und pushState nicht gelöscht wurden, waren sie verfügbar, um zu reagieren, aber beim Aufruf immer eine Ausnahme auszulösen. Bis ein neues Browser-Steuerelement verfügbar ist, müssen Sie zu einem Hash-basierten Routing wechseln oder ein Polyfill für die Verlaufs-API verwenden. https://github.com/devote/HTML5-History-API scheint zu funktionieren, wenn Sie die Skriptverweis nach office.js einschließen.

+1

Um hinzuzufügen: wird diskutieren, ob es eine längerfristige Lösung dafür auf der Plattform/Framework-Ebene gibt. Aber die Polyfill ist wahrscheinlich Ihre beste kurzfristige Lösung. –

+0

Hey @ MichaelZlatkovsky-Microsoft, gibt es eine Liste/Referenz von nicht unterstützten Browser-APIs für alle Add-In-Hosts und Plattformen? –

+0

Hi @ MichaelZlatkovsky-Microsoft, Hinzufügen von history.js gibt einige Probleme mit meiner App, die jüngste ist [diese] (https://stackoverflow.com/questions/48042888/office-initialize-raises-rootscopeinfdigig). Es scheint also, dass ich html5mode deaktivieren muss und daher history.js in meiner App nicht verwenden muss. Hast du irgendwelche Updates über office.js bezüglich html5mode? – SoftTimur