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)
        }

      })
    }
)

1 ответ

Решение

Это работает с withMathJax(bsAlert("alert")) как в ОП и

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

Странно, потому что скрипт включен два раза.

Другие вопросы по тегам