最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Including jscss scripts in Shiny app - Stack Overflow

programmeradmin2浏览0评论

I am building a Shiny application, but as it should get arguments for data for building plots, I decided to save my app as a function (using this tutorial: .html ).

Everything is working besides javascript and stylesheets that I would like to include (it was working earlier when I had standard structure: ui.R, server.R and included js/css files were in 'www' folder).

I tried to: - adding the files in the 'www' folder as before ([script.R, www folder: [style.css, script.js]]) - adding the files in separate folder, but in the same directory as the script launching the Shiny app ([script.R, scripts folder: [style.css, script.js]]) - adding the files in the same directory as my script launching the Shiny app ([script.R, style.css, script.js])

For including files I use code like: tags$head(tags$script(src="graph.js"))

Do you have any suggestions how to include scripts when you save your Shinny application as a function? Thanks in advance!

I am building a Shiny application, but as it should get arguments for data for building plots, I decided to save my app as a function (using this tutorial: http://shiny.rstudio./articles/function.html ).

Everything is working besides javascript and stylesheets that I would like to include (it was working earlier when I had standard structure: ui.R, server.R and included js/css files were in 'www' folder).

I tried to: - adding the files in the 'www' folder as before ([script.R, www folder: [style.css, script.js]]) - adding the files in separate folder, but in the same directory as the script launching the Shiny app ([script.R, scripts folder: [style.css, script.js]]) - adding the files in the same directory as my script launching the Shiny app ([script.R, style.css, script.js])

For including files I use code like: tags$head(tags$script(src="graph.js"))

Do you have any suggestions how to include scripts when you save your Shinny application as a function? Thanks in advance!

Share Improve this question asked Jul 22, 2014 at 8:05 pawluczukMpawluczukM 611 silver badge7 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 3

For anyone who may be having the same issue, I finally came up with the solution :-) There are 'include' functions in Shiny that let you specify a file with the absolute/relative path. Here is the reference: http://shiny.rstudio./reference/shiny/latest/include.html

And this is my example code:

app <- function(data)
{
 shinyApp(
  ui = fluidPage(
   fluidRow(
    # I created a 'www' folder that was included
    # in the package that is launching Shiny app
    tags$head(includeScript(system.file('www', 'script.js', package = 'myPackage'))),
    tags$head(includeCSS(system.file('www', 'style.css', package = 'myPackage'))),
    # some UI stuff
   )
  ),
  server = function(input, output, session) {
   # some server stuff
  }
}

This is now different. system.file is not required for includeScript

So: tags$head(includeScript(system.file('www', 'script.js', package = 'myPackage')))

Will be:

tags$head(includeScript('www/script.js', 'type' = 'text/javascript', 'data-unique-tag' = 'unique'))

发布评论

评论列表(0)

  1. 暂无评论