将javascript文件包含在单个文件Shiny app

时间:2017-05-05 07:46:05

标签: javascript r shiny

我需要在单个文件的闪亮应用程序中包含一个js文件。我尝试使用两个文件应用程序(经典UI-Server)并且它可以工作,但是当我尝试将Javascript文件添加到单个文件应用程序中时,使用相同的结构,浏览器无法找到js文件。

这是我在双文件应用程序中使用的结构,并且工作正常:

├── server.R
├── ui.R
└── www
   └── main.js

这是我用来在ui.R代码中添加js文件的标记:

tags$head(tags$script(src="main.js"))

1 个答案:

答案 0 :(得分:0)

要添加到解决方案中:

如果要从服务器包含js文件,请使用:

ui = fluidPage(

useShinyjs(),
tags$head(tags$script(src="https://tab.worldbank.org/javascripts/api/tableau-2.min.js")))

如果您还想要包含自定义本地js功能,请添加您的路径+ js文件名的附加行,例如:

extendShinyjs(script = "C:/Users/Desktop/YourFile.js")

请注意:在extendShinyjs内的每个js函数中,它应该是使用shinyjs 作为前缀。例如:

shinyjs.switchView = function(sheetname) {
 var workbook = viz.getWorkbook();
 workbook.activateSheetAsync(sheetname);
 }