我正在尝试让 Lync 状态指示器在 Internet Explorer、FireFox 和 Chrome 上正常工作。根据这些引用资料,这是可能的。
- http://blogs.msdn.com/b/tomholl/archive/2013/03/02/integrate-lync-into-your-intranet-sites-using-the-namectrl-plug-in.aspx
- Firefox: Communicator presence issue
引用文献 1 有一个示例 HTML 文件。我下载了它并一直在尝试。经过两次小的编辑(完成结束 </html>
标记并修复 JavaScript 替换函数以使用全局正则表达式)后,它在 Internet Explorer 上运行良好,但在 FireFox 和 Chrome 上运行失败。当我使用 Chrome 或 FireFox 的 JavaScript 调试器时,所有涉及创建 <object/>
的行元素被跳过,即第 7 行到第 13 行。第 14 行执行,但由于元素从未创建,变量 c
保持为空。
1. function CreateNPApiOnWindowsPlugin(b) {
2. var c = null;
3. if (IsSupportedNPApiBrowserOnWin())
4. try {
5. c = document.getElementById(b);
6. if (!Boolean(c) && IsNPAPIOnWinPluginInstalled(b)) {
7. var a = document.createElement("object");
8. a.id = b;
9. a.type = b;
10. a.width = "0";
11. a.height = "0";
12. a.style.setProperty("visibility", "hidden", "");
13. document.body.appendChild(a);
14. c = document.getElementById(b)
15. }
16. } catch (d) {
17. c = null
18. }
19. return c
10. }
我试图将上面的代码从直接使用 JavaScript 转换为使用等效的 jQuery,但我仍然看到相同的行为。添加 <object/>
所涉及的行元素被跳过。引用2,上面有类似的代码。我对此进行了测试,并再次在 FireFox 中看到了相同的行为。 Chrome 的调试器以类似的方式运行,跳过创建 <object/>
的代码。元素,尽管它似乎跳过了前后的额外行。
编辑
经过更多的调试和使用alert
陈述,看来 IsNPAPIOnWinPluginInstalled
正在返回 false
或 undefined
.其他调查表明 NPAPI 浏览器的 Office 插件不存在或未正确安装。 navigator.mimeTypes
列表|不包括 "application/x-sharepoint-uc"
, 虽然它确实有 "application/x-sharepoint"
.机器上安装了 MS Office 2010 Pro 和 Lync 2013,所以我不确定为什么这个插件不见了,而其他 MS Office 相关的插件出现在 FireFox 的列表中。
编辑2
我暂时搁置了这方面的工作。但它仍在我的队列中。我的机器上最近安装了完整的 Office 2013。这似乎已经在 FireFox 上注册了更新的插件。我在使用 Chrome 时仍然遇到问题。
在 FireFox 上,删除我对示例代码进行 jQuery 化的尝试后,它开始正常工作。它在 Chrome 上仍然失败。 Chrome 和 FireFox 在这个问题上的主要区别在于 ...\Office15\NPSPWRAP.DLL
是 FireFox 而非 Chrome 的注册插件。关于如何在 Chrome 中注册它有什么建议吗?
最佳答案
自 2015 年 9 月 1 日起,Chrome 中禁止使用 NPAPI 插件,请在此处阅读更多信息。 https://support.google.com/chrome/answer/6213033?hl=en
不确定如何启用它,我以为会有一个标志可以启用它,但它不可用。只能启用 PPAPI 插件。
关于javascript - FireFox 和 Chrome 中的 Lync 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30034488/