ShinyAlert出错本地图像(执行顺序)

时间:2017-07-14 16:57:49

标签: r shiny imageurl

我遇到了以下问题

使用ShinyAlert *如果我将一个imageUrl添加到邮件中,如果它是一个互联网网址,没问题,则会显示该消息,图像会立即显示,然后运行其他代码段, 但 如果它是我的硬盘上的图像,则会发生这种情况: 没有图像的消息打开 消息运行后的其他代码 然后图像出现..

我很无能为力,为什么我现在在3台不同的电脑上试过它,并用js swal方法测试它,同样的问题:

library(shiny)
library(sweetalertR)
library(shinyjs)
library(shinydashboard)

ui <- fluidPage(
  shinyjs::useShinyjs(),
  useShinyalert(),
  textInput("expr", label = "Enter an R expression",
            value = "bio",width="600px"),

  actionButton(inputId ="mybutton", "Run")


)

server <- function(input, output, session) {
  shinyEnv <- environment()

  observeEvent(input$mybutton, {
    print(getwd())
    shinyalert(title = 'hello', imageUrl ="insert http url or local disk path/name.png", imageSize = "80x80")

    for (i in 1:50000){ print(i)  ### see if picture in message shows up before this code runs
      }
    })
  }



shinyApp(ui = ui, server = server)

EXTRA示例我如何使用jscode

对其进行编码
swal5 = function(params) { 
      var defaultParams = {
        title : null,
        text : null,
        type : null  
      };
      params = shinyjs.getParams(params, defaultParams);
      swal({title : params.title, text : params.text, type : params.type,
        showCancelButton : true,
        cancelButtonText : "No, cancel please!",
        showConfirmButton : true,
        confirmButtonText : "Yes, merge the files!",
        closeOnCancel : true,
        closeOnConfirm: false},
        evalFunction = function(isConfirm){
          if (isConfirm === true) {
            var val1= 1;
            Shiny.onInputChange("MergeRaw_OP", [val1, Math.random()]);}

        });
    };

1 个答案:

答案 0 :(得分:1)

您的代码(至少是第一个代码,还没有尝试过第二个代码)实际上并不正确并且有许多额外的代码无法执行任何操作。无需加载shinyjs,shinydashboard,以保存环境,sweetalertR是错误的包。当我尝试运行该代码块的正确和最小版本时,它确实适用于我。

library(shinyalert)
library(shiny)
ui <- fluidPage(
  useShinyalert(),
  actionButton(inputId ="mybutton", "Run")
)

server <- function(input, output, session) {
  observeEvent(input$mybutton, {
    shinyalert(title = 'hello', imageUrl ="http://deanattali.com/img/deanimg.jpeg", imageSize = "80x80")
    for (i in 1:50000){ print(i) }
  })
}

shinyApp(ui = ui, server = server)