gpt4 book ai didi

html - 将外部超链接添加到 r Shiny 中的 tabPanel 或 navbarMenu

转载 作者:行者123 更新时间:2023-12-05 05:11:01 25 4
gpt4 key购买 nike

我正在尝试将外部超链接添加到 tabPabelnavbarMenu 选项卡/下拉列表中的 navbarPage 设置在 Shiny 中(使用 引导页面)。我发现多个问题涉及链接到 Shiny 应用程序中的另一个选项卡,但我想在不打开新浏览器窗口的情况下专门链接到另一个网页。

我发现了以下问题:

How to direct to another web page after clicking tabPanel in Shiny App

Open URL by tabPanel in 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

如您所见,tabPanelnavbarMenu 选项卡/下拉菜单都添加了额外的“幻影”选项卡。我在上面发布的第一个问题显示了一个涉及编辑 html 代码(或在 R 中生成的列表)的答案......但我无法弄清楚如何使用 tabPanelnavbarMenu 对象。

我只是希望它看起来像一个普通的 navbarPage 下拉菜单,其中 tabPanel 和 navbarMenu 选择链接到外部站点(在同一浏览器窗口中 - browseURL 因为服务器脚本中的 observeEvent 不起作用因为它在另一个窗口中打开)。任何帮助将不胜感激!

最佳答案

在 Shiny 的导航栏页面中添加自定义元素很棘手,但可以使用一些 javascript 来完成。以下代码应将您的链接添加到导航栏中的下拉菜单。将它作为 .js 文件保存在您应用程序的基本目录中,然后将脚本包含在您的 ui 函数中。

navAppend.js 在您的应用程序的基本目录中:

$(document).ready(function() {
$(".navbar .container-fluid .navbar-nav .dropdown .dropdown-menu").append('<li><a href="https://google.com" target="_blank">Open Sales Gsheet</a></li>');
});

在你的ui中:

ui <- tagList(
tags$head(includeScript("navAppend.js")),
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)

# nav menu the link will be added to
navbarMenu(title = "Test Menu")
)
)

关于html - 将外部超链接添加到 r Shiny 中的 tabPanel 或 navbarMenu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55987238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com