Можно ли получить полный HTML-текст страницы, который генерируется как объект renderUi в виде «блестящего»? Мне понадобится контент для создания скриншота с использованием ajax.
Пример 1 работает как положено: страница создается непосредственно в интерфейсе пользователя. Полученный объект пользовательского интерфейса содержит полный текст HTML. Его можно сохранить как файл .html и открыть в браузере для отображения страницы.
ui <- fluidPage(
div(numericInput("invalue", label = "Input", 10)),
h4(div("Output")),
textOutput("outvalue")
)
server <- function(input, output, session) {
output$outvalue <- renderText(input$invalue * 10)
}
shinyApp(ui, server)
содержимое пользовательского интерфейса:
<div class="container-fluid">
<div>
<div class="form-group shiny-input-container">
<label for="invalue">Input</label>
<input id="invalue" type="number" class="form-control" value="10"/>
</div>
</div>
<h4>
<div>Output</div>
</h4>
<div id="outvalue" class="shiny-text-output"></div>
</div>
Пример 2 не работает должным образом: страница создаетсяна стороне сервера с помощью renderUI и отправляется в функцию пользовательского интерфейса, где он обрабатывается через uiOutput. Страница выглядит точно так же, как в примере 1, но результирующий объект пользовательского интерфейса содержит только одну строку. Если он сохранен как файл .html и открыт в браузере, он ничего не показывает.
ui <- uiOutput("page")
server <- function(input, output, session) {
output$outvalue <- renderText(input$invalue * 10)
output$page <- renderUI({
fluidPage(
div(numericInput("invalue", label = "Input", 10)),
h4(div("Output")),
textOutput("outvalue")
)
})
}
shinyApp(ui, server)
Пользовательский интерфейс:
<div id="page" class="shiny-html-output"></div>
Итак, вопрос: возможно ли получить полныйHTML-контент из примера 2? Это необходимо для создания снимка экрана со страницы ajax, который генерируется динамически с помощью renderUi.