问题
I want to include a link to a local html file, which lives inside the www directory of my shiny app, inside a column in data.table. On click a new tab should open showing the html file. I've found solutions for linking to internet pages, but how do I adjust this, so that Shiny finds the local files, when rendered in a browser?
This is my code
library(DT)
library(shiny)
link <- "www/my_html.html"
link <- paste0("<a href='", link,"' target='_blank'>", link,"</a>") # works fine for global url, but not for local file
df <- data.frame(a = 10.5, b = 48, link = link)
ui <- fluidPage(
DT::dataTableOutput('table1')
)
server <- function(input, output) {
output$table1 <- DT::renderDataTable({df}, escape = -3)
}
shinyApp(ui, server)
回答1:
Maybe you could try running your app using a shiny folder. Make sure your my_html.html file is located in a www
folder in your shiny folder.
ui.R
library(DT)
library(shiny)
fluidPage(
DT::dataTableOutput('table1')
)
server.R
library(DT)
library(shiny)
df <- data.frame(a = 10.5, b = 48, link = "<a href='my_html.html' target='blank' >MyFile</a>")
function(input, output) {
output$table1 <- DT::renderDataTable({df}, escape = FALSE)
}
来源:https://stackoverflow.com/questions/41784631/include-link-to-local-html-file-in-datatable-in-shiny