在Shiny App的页面开头添加类到标签

时间:2016-07-22 16:21:21

标签: r shiny

我想在闪亮的应用程序中呈现的HTML的开头为标记添加一个类。

例如,使用此代码生成基本应用程序:

library(shiny)
ui <- basicPage()
server <- function(input, output){}
shinyApp(ui, server)

如果您检查页面,则会在开头看到html标记:

<html style="overflow: hidden;">

我想这样做:

<html class="myclass" style = "overflow: hidden;">

有没有办法在不使用javascript的情况下执行此操作?

2 个答案:

答案 0 :(得分:4)

您可以使用tags$htmltags包含更多其他HTML代码,您可以查找?shiny::tags

library(shiny)
ui <- basicPage(
  tags$html(class="myclass", style = "overflow: hidden;")
)
server <- function(input, output){}
shinyApp(ui, server)

回答评论:

  

这并不是我想要的。这将在页面内添加一个新的html标签,而我想编辑自动生成的标签

你确定吗?当我检查HTML代码时,我可以看到它修改了&lt; html&gt;标记:

enter image description here

答案 1 :(得分:2)

您可以使用shinyjs包,它有一个名为addClass()的功能。它确实使用了引擎盖下的javascript,因此我不确定这对你是否合适。它是这样的:

library(shiny)
ui <- basicPage(shinyjs::useShinyjs())
server <- function(input, output){
  shinyjs::addClass(class = "myclass", selector = "html")
}
shinyApp(ui, server)