---
# System prepended metadata

title: shiny widget

---


## embed website into shinyapp
```
library(shiny)

members <- data.frame(name=c("Name 1", "Name 2"), nr=c('BCRA1','FITM2'))

ui <- fluidPage(titlePanel("Getting Iframe"), 
                sidebarLayout(
                  sidebarPanel(
                    fluidRow(
                      column(6, selectInput("Member", label=h5("Choose a option"),choices=c('BCRA1','FITM2'))
                      ))),
                  mainPanel(fluidRow(
                    htmlOutput("frame")
                  )
                  )
                ))

server <- function(input, output) {
    observe({ 
    query <- members[which(members$nr==input$Member),2]
    test <<- paste0("https://yingxiaoyan.gitlab.io/YingxiaoYan.com/",query)
  })
  output$frame <- renderUI({
    input$Member
    my_test <- tags$iframe(src=test, height=600, width=535)
    print(my_test)
    my_test
  })
}
shinyApp(ui, server)
```





```
library(shiny)
library(shinydashboard)
 
ui <- dashboardPage(
    dashboardHeader(title = "Website Embedder"),
    dashboardSidebar(
        sidebarMenu(
            menuItem("Home", tabName = "home", icon = icon("home")),
            menuItem("Embedded Website", tabName = "website", icon = icon("globe"))
        )
    ),
    dashboardBody(
        tabItems(
            tabItem(tabName = "home",
                    h2("Welcome to the Website Embedder"),
                    p("Click on 'Embedded Website' in the sidebar to view an embedded website.")
            ),
            tabItem(tabName = "website",
                    h2("Embedded Website"),
                    fluidRow(
                        column(width = 12,
                               tags$iframe(src = "https://yingxiaoyan.gitlab.io/YingxiaoYan.com/", 
                                           width = "100%", 
                                           height = "600px", 
                                           frameborder = "0")
                        )
                    )
            )
        )
    )
)
 
server <- function(input, output) {
    # Server logic can be added here if needed
}
 
shinyApp(ui, server)
```


## The embedding seem working in this one. but reclicking does not work
```
library(shiny)
library(httr)

ui <- fluidPage(
    titlePanel("Simple Web Browser in Shiny"),
    sidebarLayout(
        sidebarPanel(
            textInput("url", "Enter URL:", value = "https://yingxiaoyan.gitlab.io/YingxiaoYan.com/"),
            actionButton("go", "Go")
        ),
        mainPanel(
            uiOutput("web_content")
        )
    )
)

server <- function(input, output, session) {
    
    web_content <- reactiveVal()
    
    observeEvent(input$go, {
        req(input$url)
        tryCatch({
            response <- GET(input$url)
            content <- content(response, "text")
            # Modify links to prevent them from opening in new windows
            content <- gsub('target="_blank"', '', content)
            web_content(content)
        }, error = function(e) {
            web_content(paste("Error loading page:", e$message))
        })
    })
    
    output$web_content <- renderUI({
        HTML(web_content())
    })
}

shinyApp(ui, server)
```

```
library(shiny)
ui <- fluidPage(
  titlePanel("Browser test"),
    sidebarLayout(
      sidebarPanel(
        shiny::actionButton(inputId = "gen_report", label = "Generate Report")
     ),
     mainPanel(   )
  ))

server <- function(input, output) {
observeEvent(input$gen_report,{
    browseURL("https://www.r-project.org")
})
}

shinyApp(ui = ui, server = server)
```