Кнопка обновления страницы в R блестящая


person Rajarshi Bhadra    schedule 07.12.2015    source источник
comment
Прочтите примечание о требованиях к V8 в readme shiningjs. Если вы развертываете приложение, использующее extendShinyjs, на ShinyApps.io, вам нужно добавить вызов библиотеки (V8) где-то в коде. Это необходимо, потому что сервер ShinyApps.io должен знать, что он должен установить пакет V8. Если вы этого не сделаете, вы просто увидите сообщение об отсутствии пакета.   -  person DeanAttali    schedule 08.12.2015
comment
Я назвал V8 только в начале. даже тогда он не работает после развертывания вshininapps.io   -  person Rajarshi Bhadra    schedule 08.12.2015
comment
Что значит, я назвал это только вначале? Есть ли где-нибудь в коде вызов library(V8)? Если да, то проблем быть не должно   -  person DeanAttali    schedule 08.12.2015
comment
Да, это сработало. Как-то не работало изначально. Возможно проблема с обновлением   -  person Rajarshi Bhadra    schedule 08.12.2015
comment
Возможно, вы хотели бы принять ответ Дина Аттали. Текущая версия содержит отличный от shinyjs способ обновления страницы.   -  person Jim    schedule 03.08.2018


Ответы (1)


Для полноты приведенный ниже код является минимальным примером работающего приложения Shiny, в котором используется кнопка «обновить».

library(shiny)
library(shinyjs)

jscode <- "shinyjs.refresh = function() { history.go(0); }"

ui <- fluidPage(
  useShinyjs(),
  extendShinyjs(text = jscode),
  textInput("text", "Text"),
  actionButton("refresh", "Refresh app")
)

server <- function(input, output, session) {
  observeEvent(input$refresh, {
    js$refresh();
  })
}

shinyApp(ui = ui, server = server)

Изменить. Начиная с версии Shiny 0.13.0 можно обновить страницу с помощью функции Shiny session$reload().

person DeanAttali    schedule 13.01.2016
comment
Привет, спасибо за ваш вклад, у меня был тот же вопрос, и он очень хорошо сработал, следуя вашему ответу. Мне интересно, как бы я реализовал ваш код для создания кнопок обновления страницы на нескольких вкладках. Я разместил свой вопрос здесь: stackoverflow.com/questions/55262781/. Я очень ценю вашу помощь! - person MMAASS; 20.03.2019
comment
Редактирование полезно: просто используйте session$reload() - person dca; 08.04.2021
comment
Да, нравится обработка. Я бы поместил его наверху, чтобы люди видели его первым. Я начал устанавливать Shinyjs, ха-ха - person Avery Robbins; 29.04.2021