Я пытаюсь добавить внешние гиперссылки к вкладкам / раскрывающимся спискам tabPabel
и navbarMenu
в настройке navbarPage
в Shiny (с использованием bootstrapPage
). Я обнаружил несколько вопросов, касающихся ссылки на другую вкладку в приложении Shiny, но я хочу специально указать ссылку на другую веб-страницу, не открывая новое окно браузера.
Я нашел следующие вопросы, которые вроде бы туда попали:
Как перейти на другую веб-страницу после нажатия tabPanel в Shiny App
Открыть URL от tabPanel в Shiny
Второй вопрос: что я хочу сделать? однако, когда я использую следующий метод для этого, он добавляет вкладку «фантом»:
tabPanel(a("Open Sales Gsheet", href="http://google.com", target="_blank"))
Вот пример кода для настройки приложения Shiny, с которым я работаю:
library(shiny); library(shinythemes)
ui <- bootstrapPage("",
navbarPage(
id = "navbar",
theme = shinytheme("yeti"),
title = a("Home", href = "https://google.com", style = "color:white;"), ## page title with hyperlink and browser tab title (works as intended)
tabPanel(title = HTML("Panel_1</a></li><li><a href='http://google.com' target='_blank'>test")), ## tabPanel hyperlink test (adds "phantom" tab)
navbarMenu(title = "Test Menu",
tabPanel(title = a("Open Sales Gsheet", href="http://google.com", target="_blank")) ## navbarMenu hyperlink test (adds "phantom" option)
)
)
)
server <- function(input, output, session) {
## empty server
}
shinyApp(ui, server)
Вот скриншот проблемы с вкладкой «фантом»:
https://i.imgur.com/tIYbhzT.png
Как видите, вкладки / выпадающие списки tabPanel
и navbarMenu
имеют дополнительные фантомные вкладки, которые были добавлены в результате. Первый вопрос, который я разместил выше, показывает ответ, который включает в себя редактирование HTML-кода (или списка, который создается в R) ... но я не могу понять, как это сделать с объектом tabPanel
или navbarMenu
.
Я просто хочу, чтобы это выглядело как обычный выпадающий список navbarPage, в котором ссылки выбора tabPanel и navbarMenu ссылаются на внешний сайт (в том же окне браузера - browseURL
, так как в сценарии сервера замечено наблюдение за событием, так как оно открывается в другом окно). Любая помощь будет оценена!