नीचे दिए गए उदाहरण देखें। यह ब्राउज़र विंडो आकार (प्रारंभिक आकार और किसी भी आकार) का पता लगाने, और Shiny.onInputChange
का उपयोग प्रसंस्करण के लिए सर्वर कोड को डेटा भेजने के लिए जावास्क्रिप्ट का उपयोग करता है। यह shiny:connected
घटना का उपयोग करता प्रारंभिक विंडो का आकार प्राप्त करने के लिए, के रूप में Shiny.onInputChange
तक चमकदार जुड़ा हुआ है उपयोग के लिए तैयार नहीं है। पैकेज htmlwidgets
से JS
साथ चमकदार में खिड़की आयाम प्राप्त करने के लिए
library(shiny)
# Define UI for application that draws a histogram
ui <- shinyUI(fluidPage(
# Application title
titlePanel("Old Faithful Geyser Data"),
# Sidebar with a slider input for number of bins
sidebarLayout(
sidebarPanel(
tags$head(tags$script('
var dimension = [0, 0];
$(document).on("shiny:connected", function(e) {
dimension[0] = window.innerWidth;
dimension[1] = window.innerHeight;
Shiny.onInputChange("dimension", dimension);
});
$(window).resize(function(e) {
dimension[0] = window.innerWidth;
dimension[1] = window.innerHeight;
Shiny.onInputChange("dimension", dimension);
});
')),
sliderInput("bins",
"Number of bins:",
min = 1,
max = 50,
value = 30)
),
# Show a plot of the generated distribution
mainPanel(
verbatimTextOutput("dimension_display"),
plotOutput("distPlot")
)
)
))
# Define server logic required to draw a histogram
server <- shinyServer(function(input, output) {
output$dimension_display <- renderText({
paste(input$dimension[1], input$dimension[2], input$dimension[2]/input$dimension[1])
})
output$distPlot <- renderPlot({
# generate bins based on input$bins from ui.R
x <- faithful[, 2]
bins <- seq(min(x), max(x), length.out = input$bins + 1)
# draw the histogram with the specified number of bins
hist(x, breaks = bins, col = 'darkgray', border = 'white')
})
})
# Run the application
shinyApp(ui = ui, server = server)
स्रोत
2016-05-05 21:02:09
इस के लिए धन्यवाद। खेद है कि यह जांचने में इतना लंबा लगा। ऐसा लगता है कि साइडबार पैनल के बाहर इसे जोड़ने के लिए एक बेहतर जगह होगी। उदाहरण के लिए, तरल पदार्थ कॉल के ठीक बाद। –
यह कोई फर्क नहीं पड़ता है जहाँ आप जावास्क्रिप्ट हालांकि जोड़ने के लिए, के रूप में जावास्क्रिप्ट परवाह किए बिना HTML के 'head' अनुभाग में दिखाई देगा (जैसा कि हम' टैग $ head' प्रयुक्त)। आप एचटीएमएल पेज के स्रोत कोड को सत्यापित कर सकते हैं। –