首页 > 解决方案 > 如何在服务器中使用 onclick 功能

问题描述

谁能告诉我如何在服务器上使用这个 onclick 函数它在 ui 上工作,但我需要在服务器上使用它,或者是否可以观察 url,以便在单击按钮后我可以使用 url

提前致谢

u_id<-"123"
inv_id <-222

url <- paste0("https://www.google.com/","?id=",u_id, "&inv_id=", inv_id)

ui <- fluidPage(
  
  
  titlePanel("open url"),
  
  sidebarLayout(
    sidebarPanel(
      actionButton("id",
                   label = "ADD COMMENT",
                   icon = icon("Click"))
    ),
    mainPanel(
    )
  ))
  server <- function(input, output, session) {
   onclick("id",sprintf("window.open('%s','win','resizable,height=400,width=400')",url)) 
      
  }

shinyApp(ui, server)

标签: rshinyshinydashboardshiny-servershinyjs

解决方案


  • 首先你需要使用 {shinyjs}onClick从服务器使用。
  • 您需要使用runjs从服务器运行 js。
u_id<-"123"
inv_id <-222

url <- paste0("https://www.google.com/","?id=",u_id, "&inv_id=", inv_id)

library(shiny)
library(shinyjs)
ui <- fluidPage(
    useShinyjs(),
    titlePanel("open url"),
    sidebarLayout(
        sidebarPanel(
            actionButton("id",
                         label = "ADD COMMENT",
                         icon = icon("Click"))
        ),
        mainPanel(
        )
    ))
server <- function(input, output, session) {
    onclick(id = "id", runjs(sprintf("window.open('%s','win','resizable,height=400,width=400')",url)))
    
}

shinyApp(ui, server)

推荐阅读