웹 사이트 및 Excel 추가 기능을 호스팅하는 mean-stack
의 응용 프로그램이 있습니다. html5
활성화, 그것은에서displayDialogAsync 및 html5-history-api의 충돌
<script src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js"></script>
<script src="https://cdn.rawgit.com/devote/HTML5-History-API/master/history.js"></script>
을 가지고있는 Excel 추가, 나는 Dialog API하여 웹 사이트의 페이지를 여는 버튼이 있습니다
$scope.openDialog = function() {
Office.context.ui.displayDialogAsync("https://localhost:3000/preview/tmp/6wr-4PqdBrYQwjp3AAAD", {}, function() {})
}
내가 Excel에서이 버튼을 클릭 Chrome에서 온라인으로 연결하면 다음 URL (#
및 여러 개의 %2F
이 체계적으로 추가됨)이 포함 된 대화 상자가 열리지 만 페이지가 잘 표시되지 않습니다. 나는 파이어 폭스에서 엑셀 온라인에서이 버튼을 클릭하면
https://localhost:3000/preview/tmp/6wr-4PqdBrYQwjp3AAAD?_host_Info=excel|web|16.00|en-us|b6f37f78-e519-7d03-0069-b9c4317a362c|isDialog#%2Fpreview%2Ftmp%2F6wr-4PqdBrYQwjp3AAAD%3F_host_Info=excel%7Cweb%7C16.00%7Cen-us%7Cb6f37f78-e519-7d03-0069-b9c4317a362c%7CisDialog
그러나 URL은 웹 사이트의 홈페이지 표시 밝혀 다음 URL을 신속하게 변경 : 그래서
https://localhost:3000/home#%2Fpreview%2Ftmp%2F6wr-4PqdBrYQwjp3AAAD%3F_host_Info=excel%7Cweb%7C16.00%7Cen-gb%7C919fff78-e51f-dc20-0c3c-871b7d0ec25d%7CisDialog
을 내 질문이 있습니다 :
왜 Office.context.ui.displayDialogAsync
은 내 웹 사이트의 URL에 #
과 %2F
을 체계적으로 추가합니까? 이것이 일어나는 것을 막을 수 있습니까?
2) Firefox가 허용하는 URL을 만들 수 있습니까 (#
및 %2F
)?
편집 1 :html5-history-api
을 사용하지 않으면 작동합니다. 그래서 displayDialogAsync
에 대해 html5-history-api
을 비활성화하는 방법을 모르십니까? (office.js
이후에 html5-history-api
을 사용해야하는 이유는 here입니다.
설명하는 동작을 사람들이 테스트 할 수있는 링크를 공유 할 수 있습니까? –
@VivekAthalye 죄송 합니다만, 평균 스택 어플리케이션을 호스팅하는 SSL을 가진 다른 도메인 이름이 없습니다 ... – SoftTimur