我開始使用Shiny和愛它。但是,我已經找到了將JavaScript融入到Shiny應用程序中以增加一些附加功能的絆腳石。希望得到一些幫助。在cookie中閱讀使用嵌入式javascript的閃亮應用程序
這是一個非常基本的Shiny應用程序,我正在使用它來測試使用javascript讀取瀏覽器cookie的可行性,以便它可以在ui.R中訪問。
ui.R代碼。
# UI file of getCookie Shiny application.
shinyUI(fluidPage(
titlePanel('Cookie'),
cookie <- tags$head(tags$script(src='readCookie.js')),
print(cookie)
))
'script'標記附帶的JavaScript函數 - 取自quirksmode.org/js/cookies.html。
function readCookie() {
name = "raisinCookie";
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
和服務器代碼。
# Server file of getCookie Shiny application.
shinyServer(function(input, output){
})
首先,我應該問一下,如果甚至可以讀取cookie到一個閃亮的應用程序?其次,我在這裏的正確軌道?第三 - 假設我的js代碼工作正常 - 我如何訪問js函數在源代碼中閃爍的代碼中返回的值?
任何和所有的幫助讚賞,建設性的批評。我是新來的,所以任何幫助我們整合Shiny和JS的指針都是值得歡迎的。
的部分是有關您的問題來檢索所有Cookie的示例應用程序如何輕鬆整合JavaScript與閃亮,你可能想看看[shinyjs](https://github.com/daattali/shinyjs)包,特別是'extendShinyjs()'函數,它可以讓你從R調用你自己的JavaScript函數看看,這可能是有用的 –
謝謝,我會的。 – Dunc