获取 ImpactStory JavaScript 小部件渲染到 R Shiny 应用程序中的表格单元格
Getting ImpactStory JavaScript widgets rendered to a table cell in an R Shiny app
[这个问题昨天也发布到 https://groups.google.com/d/msg/shiny-discuss/1UmzvZJwM54/gdMmX7QQ-eIJ,到目前为止还没有答案]
我一直在开发一个 Shiny 应用程序,它以表格和 rCharts (NVD3) 的形式显示一些期刊文章的一些原始替代数据 http://spark.rstudio.com/ttso/alt/
我的代码与示例数据 https://gist.github.com/tts/6990101
到目前为止一切顺利,但现在我在尝试将 JavaScript 小部件包含在表中时遇到了困难 http://impactstory.org/api-docs 这样的小部件工作得很好,就像在这个 HTML 示例中一样 http://users.tkk.fi/sonkkila/alt/arts.html - 但在我的 Shiny 表中,它们应该出现的最后一列 (IS) 是空的。
当我离开桌子时,我可以看到HTML代码在那里 - 但是当消毒时,它消失了。服务器中的呈现表代码。R: https://gist.github.com/tts/6990101#file-server-r-L69-L85
从HTML源代码中,我还可以看到ImpactStory脚本应该位于页面顶部。
欢迎所有指针!
免责声明:虽然我已经玩R和Shiny一段时间了,但我认为自己真的是一个JavaScript/CSS新手,所以我可能在这里错过了一些明显的东西。
编辑:只是为了澄清:当然,经过净化的HTML代码在这一点上消失了,因为没有文本元素值。我想知道 a) 不同的 JS 脚本之间是否存在冲突,也许它们需要以不同的顺序出现(必须询问 ImpactStory )或 b) xtable() 如何生成输出存在一些问题或 c) Shiny 不知道如何与 impactstory.js 脚本进行通信或 d) Shiny 根本没有看到脚本。我应该构建自定义输出组件吗?
EDIT2:AFAIK 问题在于反应式输出的表看不到 JavaScript。测试:当我手动将非动态HTML代码添加到UI时。R具有ImpactStory JS需要了解的有关文章的所有属性,小部件呈现正常。另外,如果我添加,在服务器中。R,输出的数据框中的脚本元素,小部件被渲染,但也 - 永远不会停止这样做,导致循环:) 我想我需要的类似于这里提出的问题,问题 nr 2
好吧,我找到了一个不漂亮但暂时可行的解决方案。
renderTable 使用 xtable 来渲染 HTML 表,您可以在其中定义自己的清理功能,请参见 http://cran.r-project.org/web/packages/xtable/vignettes/xtableGallery.pdf(第 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))
出于我还不明白的原因,一开始有一组双小部件。
感谢您的耐心等待。
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- Emberjs应用程序加载在除Index之外的所有路由上
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- angular 1.5应用程序中的导航栏
- 在Web应用程序中使用Highcharts javascript
- angularjs+rails应用程序中未显示模板
- 使用acess代币登录Facebook,并通过网络应用程序离线发布
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 科尔多瓦页面类应用程序中的多个谷歌地图
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- Angularjs-utils高亮过滤器在搜索时破坏应用程序
- 在phonegap应用程序内部重定向不起作用
- 使用谷歌应用程序脚本从工作表中获取值并将其显示在文本框中
- 如何在R Shiny应用程序中添加JavaScript来更改CSS文件
- 获取 ImpactStory JavaScript 小部件渲染到 R Shiny 应用程序中的表格单元格
- 使用嵌入式javascript读取cookie到Shiny应用程序
- 我尝试使用R Shiny部署一个应用程序,但网页立即退出,并说诊断信息已记录到我的JavaScript控制台
- 当我在ui中定义了所有元素时,我如何将谷歌地图添加到Shiny应用程序中.R文件