gpt4 book ai didi

javascript - HTMLWidget : Shiny app run well in Rstudio but Not on Shiny-Server

转载 作者:行者123 更新时间:2023-12-03 04:06:05 25 4
gpt4 key购买 nike

最近我编写了一个 html 小部件,以使用 javascript 文件进行维恩图绘制。在 RStudio 中,该应用程序运行良好,因此到目前为止我还没有意识到在 Shiny 的服务器上使用该应用程序存在问题。

如果我在 RStudio 中使用 Shiny 运行应用程序,则不会引发任何错误,并且 Web 浏览器会显示 Shiny 页面中除新小部件之外的所有其他元素。考虑到浏览器的开发者控制台,我看到以下错误,这对我来说有点神秘。

Uncaught TypeError: Cannot read property 'filter' of undefined
at exports.OutputBinding.shinyBinding.find (htmlwidgets.js:475)
at a (shiny.min.js:3)
at f (shiny.min.js:3)
at initShiny (shiny.min.js:3)

我也在 RStudio 之外运行它只是为了确定但同样的错误。

我已经用 2 个独立的软件包对此进行了测试,因此这对我来说似乎是一个系统错误。

通过检查浏览器中正在运行的应用程序,我看到创建了以下 div。但是,我找不到提交的数据。

<div id="vennDia" style="width:100%; height:400px; " class="vennConductor html-widget html-widget-output"></div>

vennConductor.js:

HTMLWidgets.widget({
name: 'vennConductor',
type: 'output',

initialize: function(el, width, height) {
},
renderValue: function(el, x, instance) {
// console.log(x)
$(el).jvenn(x)},
resize: function(el, width, height, instance) {
$(el).attr("width", width).attr("height", height)
}
});

我认为“相关”HTMLWidget R 代码:

htmlwidgets::createWidget(
name = 'vennConductor',
json_payload,
width = width,
height = height,
package = 'vennConductor',
elementId = elementId,
sizingPolicy = htmlwidgets::sizingPolicy(
browser.fill = TRUE,
viewer.fill = TRUE
)
)


#' @name vennConductor-shiny
#' @export
vennConductorOutput <- function(outputId, width = '100%', height = '400px'){
htmlwidgets::shinyWidgetOutput(outputId, 'vennConductor', width, height, package = 'vennConductor')
}

#' @rdname vennConductor-shiny
#' @export
renderVennConductor <- function(expr, env = parent.frame(), quoted = FALSE) {
if (!quoted) { expr <- substitute(expr) } # force quoted
htmlwidgets::shinyRenderWidget(expr, vennConductorOutput, env, quoted = TRUE)
}

和小部件调用:

jVennConductor(elementId = 'vennDia', venn_lists = vlist_01, displayMode=T, displayStat=T)

希望有人能帮助我。谢谢!!!

P.s.:R 和 a Packages 是最新的,我的操作系统是 WINDOWS 10。

最佳答案

我们已经找到了问题的原因。 Shiny 以小写形式导入 jquery,以大写形式导入 jVennConductor,这就是导致错误的原因。简单地将两者更改为小写即可解决问题。

感谢郑乔

https://github.com/ramnathv/htmlwidgets/issues/253

关于javascript - HTMLWidget : Shiny app run well in Rstudio but Not on Shiny-Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44548720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com