sendCustomMessage 在 actionButton 中无法正常工作(闪亮)

Dim*_* D. 2 javascript shiny

我正在从这里测试脚本http://shiny.rstudio.com/articles/action-buttons.html(请参阅“模式1 - 命令”部分)。

如果按下网站上的“Click me”按钮,那么一切都OK - 我们可以看到弹出菜单。

但是,如果将示例脚本复制到新的 .R 文件中并运行它 - 不会出现弹出消息,不会生成警告或错误消息(我的浏览器是 Google Chrome)。所以我对此停滞不前。

示例脚本:

library(shiny)

ui <- fluidPage(
  tags$head(tags$script(src = "message-handler.js")),
  actionButton("do", "Click Me")
)

server <- function(input, output, session) {
  observeEvent(input$do, {
    session$sendCustomMessage(type = 'testmessage',
      message = 'Thank you for clicking')
  })
}

shinyApp(ui, server) 
Run Code Online (Sandbox Code Playgroud)

Por*_*hop 5

这应该可行,我给出了两个弹出警报的示例

1)有标准js alert

rm(list = ls())
library(shiny)
ui <- fluidPage(
  tags$head(tags$script(HTML('Shiny.addCustomMessageHandler("jsCode",function(message) {eval(message.value);});'))),
  actionButton("do", "Click Me")
)
server <- function(input, output, session) {
  observeEvent(input$do, {
    js_string <- 'alert("Thank you for clicking");'
    session$sendCustomMessage(type='jsCode', list(value = js_string))
  })
}

shinyApp(ui, server) 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

2)使用shinyBSpackage和modalpop-up

rm(list = ls())
library(shiny)
library(shinyBS)

ui <- fluidPage(  
  tags$script(HTML('Shiny.addCustomMessageHandler("jsCode",function(message) {eval(message.value);});')),
  bsModal("ThankYou", "Message", "",tags$p(tags$h1("Thank you for clicking", style = "color:red", align = "center")), size = "small"),
  actionButton("do", "Click Me")
)
server <- function(input, output, session) {
  observeEvent(input$do, {
    activate_modal <- "$('#ThankYou').modal('show')"
    session$sendCustomMessage(type='jsCode', list(value = activate_modal))
  })
}
shinyApp(ui, server) 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述