首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在的外接程序中嵌入UserVoice小部件

在的外接程序中嵌入UserVoice小部件
EN

Stack Overflow用户
提问于 2016-07-21 00:32:30
回答 2查看 162关注 0票数 1

(*我清理了初始线程*)

我想将UserVoice小部件添加到一个Excel外接程序中。我编写了以下示例代码:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
  <head>
    <script src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js"></script>
    <link rel="stylesheet" href="https://appsforoffice.microsoft.com/fabric/1.0/fabric.min.css">
    <link rel="stylesheet" href="https://appsforoffice.microsoft.com/fabric/1.0/fabric.components.min.css">
  </head>
  <body>
    <div id="contact_us">Contact us</div>
  </body>
  <script>
    // Include the UserVoice JavaScript SDK (only needed once on a page)
    UserVoice=window.UserVoice||[];(function(){var uv=document.createElement('script');uv.type='text/javascript';uv.async=true;uv.src='//widget.uservoice.com/KIXLyRfZDu6MdnaaVtnlSw.js';var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(uv,s)})();

    UserVoice.push(['addTrigger', '#contact_us', {}]);
  </script>
  </body>
</html>

它在JSBinExcel Online下运行良好,单击Contact us显示消息窗口。但是,在Excel 2016 for Windows下,在加载几秒钟后(如预期的那样),单击Contact us不会打开这样的窗口。

我不知道我们是否需要在Home.html、外接程序的清单文件或Excel的设置中设置一些特殊的东西。我还试图改变窗口应该弹出的位置(但仍然无法工作).有人能帮忙吗?

编辑1 I测试Michael的代码,它在Excel下工作,但在Excel中仍然不工作。下面是截图。注意,在单击Contact us之后,出现了三角形符号(红色)(在我最初的示例中,它有相同的现象。如果我们只点击任务窗格的空白区域,它也有相同的现象。)

也许框已经显示了,但是没有显示在任务窗格中我们可以看到的区域中吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-21 22:48:35

下面是一个完整的工作页面:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
    <title>UserVoice test</title>
    <script src="https://appsforoffice.microsoft.com/lib/1.1/hosted/Office.js" type="text/javascript"></script>
</head>
<body>
    <div id="contact_us">Contact us</div>
</body>
<script>
    UserVoice=window.UserVoice||[];(function(){var uv=document.createElement('script');uv.type='text/javascript';uv.async=true;uv.src='//widget.uservoice.com/KIXLyRfZDu6MdnaaVtnlSw.js';var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(uv,s)})();
    UserVoice.push(['set', {
        width:'300px',
        post_suggestion_enabled:true
    }]);
    UserVoice.push(['identify', {}]);
    UserVoice.push(['addTrigger', '#contact_us', { mode: 'contact',menu_enabled:true, }]);
</script>
</html>

我改变了一些东西,包括:

  • #contact_us元素更改为div而不是链接。
  • 去掉你的额外标签
  • addTrigger调用中添加了可选参数
  • 添加了identifyset语句

此外,确保您的环境处于良好状态:

  • 清除浏览器缓存以确保调试过程中不存在旧代码:打开Internet (非边缘)并选择安全>删除浏览历史>选择所有框>删除>关闭所有IE窗口和所有Office窗口。
  • 在线托管代码
票数 0
EN

Stack Overflow用户

发布于 2016-07-21 00:42:12

在加载速度方面,您能动态加载UserVoice,即使用JQuery.getScript(.)吗?

第二,你期待的是什么?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38492961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档