How can I include a remote JS file in my app using shinydashboard? I know there is the includeScript
function. I tried
...
# using shiny dashboard
ui <- dashboardPage(
includeScript("http://the.path.to/my/js-file.js")
dashboardHeader(
title = "My title",
titleWidth = 400
),
...
This results in the error:
Error in tagAssert(header, type = "header", class = "main-header") :
Expected tag to be of type header
I attempted to place the call in other places, combine it with tags$head
, store the JS file locally and load it with a local path reference, but to no avail.
So I am stuck at the following questions?
includeScript
with a path to a remote resource?A solution has been proposed by @daattali for a purely Shiny based implementation (no shinydashboard) using tags$head
, but this does not appear to work with shinydashboard.
You can include remote JS files using the src
argument of a script
tag
library(shiny)
jsfile <- "https://gist.githack.com/daattali/7519b627cb9a3c5cebcb/raw/91e8c041d8fe4010c01fe974c6a35d6dd465f92f/jstest.js"
runApp(shinyApp(
ui = fluidPage(
tags$head(tags$script(src = jsfile))
),
server = function(input, output) {
}
))
EDIT: Ok, so you want this to work with a shinydashboard. It makes sense why your way doesn't work. Look at the documentation for dashboardPage
. The first argument is header
. You can't just start providing tags/UI elements you want to include. The includescript or any other such elements should go inside the dashboardBody. For example
library(shiny)
library(shinydashboard)
jsfile <- "https://gist.githack.com/daattali/7519b627cb9a3c5cebcb/raw/91e8c041d8fe4010c01fe974c6a35d6dd465f92f/jstest.js"
runApp(shinyApp(
ui = dashboardPage(
header = dashboardHeader(),
sidebar = dashboardSidebar(),
body = dashboardBody(
tags$head(tags$script(src = jsfile))
)
),
server = function(input, output) {
}
))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With