R对用户定义的javascript进行不正确的解析?

R对用户定义的javascript进行不正确的解析?,javascript,r,shiny,Javascript,R,Shiny,从我收集的信息来看,如果我想在我的应用程序中包含一点javascript,我会执行以下操作: shinyUI( fluidPage( tags$head( tags$script("if (1 > 0) {1}") ) ) ) 但是,这会在我的浏览器中导致错误,因为如果执行“查看源代码”,您会看到Shiny生成的实际javascript是: <script>if (1 &gt; 0) {1}<

从我收集的信息来看,如果我想在我的应用程序中包含一点javascript,我会执行以下操作:

shinyUI(
    fluidPage(
        tags$head(
            tags$script("if (1 > 0) {1}")
        )
    )
)
但是,这会在我的浏览器中导致错误,因为如果执行“查看源代码”,您会看到Shiny生成的实际javascript是:

<script>if (1 &gt; 0) {1}</script>
if(10){1}

似乎
被错误地转换为
。现在,这是因为我没有以正确的方式将javascript包含在Shiny中,还是因为它是一个bug(或者确实是一个特性)?更重要的是,有没有办法解决这个问题?

标记函数执行HTML转义。如果不希望执行转义,则需要使用HTML函数:

require(shiny)
runApp(list(
  ui = bootstrapPage(
    numericInput('n', 'Number of obs', 100),
    plotOutput('plot'),
    tags$head(
      tags$script(HTML("if (1 > 0) {1}"))
    )
  ),
  server = function(input, output) {
    output$plot <- renderPlot({ hist(runif(input$n)) })
  }
))
require(闪亮)
runApp(列表(
ui=引导(
数字输入('n','OB数',100),
plotOutput('plot'),
标签$head(
标记$script(HTML(“if(1>0){1}”))
)
),
服务器=功能(输入、输出){
输出$plot