【发布时间】:2016-03-12 14:28:17
【问题描述】:
我尝试在链接here 之后实现页面刷新按钮。但是,当我尝试部署到shinyapp.io 时,它失败并要求安装我已经完成的包V8。该应用程序在机器上运行良好。我使用的代码是:
jsResetCode <- "shinyjs.reset = function() {history.go(0)}",
useShinyjs(), # Include shinyjs in the UI
extendShinyjs(text = jsResetCode), # Add the js code to the page
p(actionButton("reset_button", "Reset Tool"))
在server.R:
observeEvent(input$reset_button, {js$reset()})
没有shinyjs,有什么办法可以做到这一点?
【问题讨论】:
-
阅读 shinyjs readme 中的“关于 V8 先决条件的说明”。 “如果您正在将使用extendShinyjs 的应用程序部署到shinyapps.io,那么您需要在代码中的某处添加对库(V8)的调用。这是必要的,因为shinyapps.io 服务器需要知道它应该安装V8 包. 如果你不这样做,那么你只会看到一个错误,说包丢失。”
-
我只在一开始就调用了 V8。即使在shinyapps.io中部署后它也无法正常工作
-
“我只在一开始就叫它”是什么意思?代码中是否有
library(V8)调用?如果是这样,你应该没有任何问题 -
是的,它奏效了。不知何故,它最初不起作用。可能是刷新问题
-
也许您愿意接受 Dean Attali 的回答。当前版本包含非
shinyjs刷新页面的方式。