gpt4 book ai didi

javascript - 如何检测用户使用的是在线 Excel 还是桌面版 Excel

转载 作者:行者123 更新时间:2023-11-30 00:12:02 24 4
gpt4 key购买 nike

我已经看到了另一个答案,但我无法让它工作,而且我不被允许问另一个问题。

How to determine if an Office Add-in is running under Excel or Excel Online?

我发现经常会出现 Excel Online 的行为与 Excel Desktop 不同的情况。我知道应该这样做,但事实并非如此,所以我真的需要能够控制行为以使我脱离热点。

如何判断我使用的是哪个版本的 Excel。

我看过下面的代码,但它只是挂了我的javascript:

if (Microsoft.Office.WebExtension.context.document instanceof OSF.DDA.ExcelWebAppDocument) {
//Your app running on the web
}

if (Microsoft.Office.WebExtension.context.document instanceof OSF.DDA.ExcelDocument) {
//Your app running in excel
}

这个问题与 OSF.DDA 有关....这些在我的智能感知中没有出现,所以我想知道,我是否遗漏了什么?

最佳答案

快速回答是您可以检查加载项是否在 iframe 中运行:

if(window.top == window){
// the add-in is not running in Excel Online
}

但是,我们建议您检查您需要的实际行为或功能 - 这种方法对于 future 的变化会更加稳健。假设您需要一个当前在 Excel Online 中不可用的特定 Excel API。然后按照 specifying Office hosts and API requirements 的指导进行操作.例如,您可以检查:

if (Office.context.requirements.isSetSupported("ExcelApi", 1.3)){
// use the Excel 1.3 API set which currently isn't available in Excel Online but will be in the future.
}

另一种可能性是,您实际需要的是特定的浏览器功能,该功能可能不可用,具体取决于用户访问 Office Online 所使用的浏览器。那么我推荐的解决方案还是直接检查您需要的功能,例如:

if(window.localStorage){
// the browser that the user is accessing Excel Online with has the local storage capability that you need.
}

-Michael(Office 插件的 PM)

关于javascript - 如何检测用户使用的是在线 Excel 还是桌面版 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36066653/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com