(*我清理初始线程*)
我想将UserVoice小部件添加到一个Excel加载项。我制作了以下示例代码:
<!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>
在JSBin和Excel Online
下效果很好,点击Contact us
会显示消息窗口。但是,在Excel 2016 for Windows
下,加载几秒钟后(如预期的那样),点击Contact us
不会打开这样的窗口。
我不知道在Home.html
或加载项的清单文件或Excel for Windows的设置中是否需要设置一些特殊内容。我也试图改变窗口应该弹出的位置(但还没有工作)......有人可以帮忙吗?
修改1
我测试了Michael Saunders的代码,它在Excel Online下运行,但仍然无法在Excel for Windows中运行。以下是截图。请注意,点击Contact us
后,会出现三角形符号(红色)(在我的初始示例中,它具有相同的现象。如果我们只是点击任务窗格的空白区域,它就会有相同的也是现象。)
可能该框已经显示,但不在我们可以看到的任务窗格区域中?
答案 0 :(得分:1)
就加载速度而言,您是否可以动态加载UserVoice,即使用jQuery.getScript(...)?
对于#2,你期待什么?
答案 1 :(得分:0)
这是一个完整的工作页面:
<!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
调用identify
和set
语句另外,请确保您的环境处于良好状态: