さて、私はなぜあなたがクライアント側でこれをしたいのか分かりませんが、方法があります。クライアントにはinvalidateLater
を使用して構築するJavaScriptを正確に行うJavaScriptを追加できます。しかし、これはサーバー側のバージョンよりもずっと混乱します。以下
コード:
library(shiny)
ui <- shinyUI(fluidPage(
dateRangeInput('dateRange',label = 'Date',start = Sys.Date() - 15, end = Sys.Date() - 1),
tags$script(HTML("
$(document).ready(function() {
var initDate = new Date();
setInterval(function() {
var currentDate = new Date();
if(currentDate.getDate() != initDate.getDate()) {
initDate = currentDate;
var start = new Date();
start.setDate(currentDate.getDate() - 15);
var end = new Date();
end.setDate(currentDate.getDate() - 1);
/* Insert Id of your dateRangeInput */
var dateInput = $('#dateRange').find('input');
dateInput.eq(0).datepicker('update', start);
dateInput.eq(1).datepicker('update', end);
};
/* Insert interval in millis below. */
}, 3600000);
});
"))
))
server <- function(input, output, session){}
shinyApp(ui, server)