将ImpactStory JavaScript小部件呈现到R应用程序中的表格单元格

将ImpactStory JavaScript小部件呈现到R应用程序中的表格单元格,javascript,r,shiny,Javascript,R,Shiny,[该问题已于昨日发布至,目前尚无答案] 我一直在开发一个闪亮的应用程序,它以表格和rCharts(NVD3)图表的形式显示了一些期刊文章的原始altmetric数据 我的代码和示例数据 到目前为止还不错,但现在我在尝试将小部件中解释的JavaScript小部件包含在表中时遇到了困难,就像在这个HTML示例中一样——但在我闪亮的表中,它们应该出现的最后一列(IS)是空的 当我不初始化表时,我可以看到HTML代码在那里,但是当清理后,它就消失了。server.R中的可渲染代码: 从HTML源代码中,

[该问题已于昨日发布至,目前尚无答案]

我一直在开发一个闪亮的应用程序,它以表格和rCharts(NVD3)图表的形式显示了一些期刊文章的原始altmetric数据

我的代码和示例数据

到目前为止还不错,但现在我在尝试将小部件中解释的JavaScript小部件包含在表中时遇到了困难,就像在这个HTML示例中一样——但在我闪亮的表中,它们应该出现的最后一列(IS)是空的

当我不初始化表时,我可以看到HTML代码在那里,但是当清理后,它就消失了。server.R中的可渲染代码:

从HTML源代码中,我还可以看到ImpactStory脚本应该位于页面顶部

欢迎大家指点

免责声明:虽然我已经玩了一段时间了,现在我认为自己是一个JavaScript/CSS新手,所以我可能在这里缺少一些明显的东西。 编辑:只是澄清一下:当然,经过净化的HTML代码在这一点上消失了,因为没有文本元素值。我想知道a)不同的JS脚本之间是否存在冲突,可能它们需要以不同的顺序出现(必须询问ImpactStory),或者b)xtable()如何生成输出存在一些问题,或者c)Shiny不知道如何与ImpactStory.JS脚本通信,或者d)Shiny根本看不到脚本。我应该构建自定义输出组件吗


EDIT2:AFAIK问题在于,反应输出的表没有看到JavaScript。测试:当我手动将非动态HTML代码添加到ui.R中,并包含ImpactStory JS需要了解的关于文章的所有属性时,小部件呈现为ok。另外,如果我在server.R中添加输出的数据帧中的脚本元素,小部件将被呈现,但也-永远不会停止这样做,从而产生一个循环:)我想我需要的是类似于所问的内容

好吧,我已经找到了一个解决方案,它并不漂亮,但暂时可以

renderTable使用xtable来呈现HTML表,您可以定义自己的清理功能,请参见(第7页)

在这里,我只是将列标题“Widget”替换为定义脚本的字符串:

output$table <- renderTable({  
   ...
  }, include.rownames = FALSE, sanitize.text.function = function(s) sub("Widget", "<script type=\"text/javascript\" src=\"http://impactstory.org/embed/v1/impactstory.js\"></script>", s))
输出$table