是否可以根据用户的Internet连接状态启用或禁用整体输入(即开或关)?

问题描述 投票:0回答:1

我们可以与
RequiredLibraries <- c("shiny", "shinyjs") RequiredLibraries2Install <- RequiredLibraries[!(RequiredLibraries %in% installed.packages()[, "Package"])] if(length(RequiredLibraries2Install)) install.packages(RequiredLibraries2Install, dependencies = TRUE) lapply(RequiredLibraries, library, character.only = TRUE) is_online <- function(site = "http://www.google.com/") { tryCatch( { readLines(site,n=1) TRUE }, warning = function(w) invokeRestart("muffleWarning"), error = function(e) FALSE) } ui <- fluidPage( useShinyjs(), mainPanel( tabsetPanel(type = "tabs", tabPanel("Reprex", checkboxInput(inputId = "Download_Some_Data", label = "Download some data only if there is an Internet connection", value = FALSE, width = '100%') ) ), width = 12 ) ) server <- function(input, output, session) { observeEvent(input[["Download_Some_Data"]], { toggleState(id = "Download_Some_Data", condition = is_online()) }) # observe(is_online(), # { # toggleState(id = "Download_Some_Data", condition = is_online()) # }) } runApp(list(ui = ui, server = server), launch.browser = TRUE)

一起使用

httr2::is_online()

来检查互联网:

invalidateLater
    
r shiny shinyjs
1个回答
0
投票
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.