在开发Microsoft外接程序时,我的团队需要检测文档获取/恢复的焦点(ETA:触发依赖于此知识的其他功能)。在这种情况下,微软似乎已经严格地锁定了脚本性--所有的window.on*函数都被null所取代,所有的错误处理代码都被深深地混淆了,等等。到目前为止,我们的努力已经失败了。
简单地将window.onfocus设置为一个新函数会导致外接程序无法正确加载,这可能是因为它触发的代码分析器不安全,但很难分辨。
Microsoft在线JavaScript API中也没有直接提供此功能的任何内容。脚本可以通过提供的方法很容易地检测文档选择发生更改的时间,但这似乎是文档功能在这一领域的关键所在。(显然,简单地感知文档更改是行不通的。)
在这种情况下,感测文档和/或窗口焦点的最佳方法是什么?谢谢。
发布于 2021-11-30 10:26:37
document.onvisibilitychange事件可以用作所需功能的粗略近似。
document.onvisibilitychange = (ev) => {
if (document.visibilityState == "visible") {
// Handle pseudo-focus event
}
else {
// Handle pseudo-blur event
}
};可以根据需要将其与Office DocumentSelectionChanged事件结合起来,以进一步细化光标何时放置在Word文档中。(也就是说,只有当Office DocumentSelectionChanged事件在浏览器document.onvisibilitychange事件以document.visibilityState等于“可见”的情况下第一次被触发时,才能获得触发焦点。)
https://stackoverflow.com/questions/70137351
复制相似问题