2017-05-05 42 views
0

有沒有辦法在由shinyBS創建的警報中使用MathJax?下面的嘗試不能按預期工作。MathJax在一個shinyBS警報

library(shiny) 
library(shinyBS) 
shinyApp(
    ui = 
    fluidPage(
     sidebarLayout(
     sidebarPanel(textInput("num1", NULL, value = 100), 
        "divided by", textInput("num2", NULL, value = 20), 
        "equals", textOutput("exampleOutput")), 
     mainPanel(
      withMathJax(bsAlert("alert")) 
     ) 
    ) 
    ), 
    server = 
    function(input, output, session) { 
     output$exampleOutput <- renderText({ 
     num1 <- as.numeric(input$num1) 
     num2 <- as.numeric(input$num2) 

     if(num2 == 0) { 
      createAlert(session, "alert", "exampleAlert", title = "Oops", 
         content = HTML("You cannot divide by <span class='math inline'>\\(0\\)</span>.")) 
     } else { 
      closeAlert(session, "exampleAlert") 
      return(num1/num2) 
     } 

     }) 
    } 
) 

回答

0

這適用於withMathJax(bsAlert("alert"))作爲OP

content = "You cannot divide by <span class='math inline'>\\(0\\)</span>.<script>if (window.MathJax) MathJax.Hub.Queue(['Typeset', MathJax.Hub]);</script>" 

奇怪,因爲劇本被包含兩次。