我正在使用GitHub上的简单测试测试 extendShinyJs :link。
我已经安装了V8软件包,但是即使使用示例脚本,我也会收到此错误: 错误:shinyjs:解析提供的JavaScript代码时出错。
我还尝试将JavaScript代码移动到www文件夹下的单独文件中。
当前会话的其他信息:
> sessionInfo()
R version 3.1.3 (2015-03-09)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 8 x64 (build 9200)
如何运行extendShinyjs?
在 ui.R :
library(shiny)
library(shinyjs)
library(shinyAce)
#library(V8)
# Define UI for application that draws a histogram
shinyUI(fluidPage(
shinyjs::useShinyjs(),
extendShinyjs(text = "myfunc.js"),
navbarPage("Tweets stuff",
tabPanel("Contact",
sidebarLayout(
sidebarPanel(
textInput("ctFrom", "From:", value=""),
textInput("ctSubject", "Subject:", value="Sugerencias BTT"),
actionButton("ctSend", "Send")
),
mainPanel(
aceEditor("ctMessage", value="")
)
)
))
)
)
myfunc.js (in www folder):
shinyjs.pageCol = function(params){
$('body').css('background', params);
};
server.R:
shinyServer(function(input, output, session) {
#Programming with Twitter API
observeEvent(input$ctSend, {
#I have more things here
js$pageCol (input$ctSend)
})
}
请问我是否认为您需要查看更多代码。 我想清除“aceEditor”中的文字。
感谢您的快速帮助。
答案 0 :(得分:3)
我可以运行你的例子(但为了简单起见,我把JS代码变成了一个字符串而不是它自己的文件。如果你想让它在一个文件中,你需要使用我所说的file =
参数我的评论。
为了证明JS的工作原理,我从&#34改变了JS功能;改变了背景"简单地打印按钮的值。如果这个确切的代码产生错误,请告诉我:
library(shiny)
library(shinyjs)
library(shinyAce)
jscode <- " shinyjs.pageCol = function(params){
alert(params);
};"
runApp(shinyApp(
ui = fluidPage(
shinyjs::useShinyjs(),
extendShinyjs(text = jscode),
navbarPage("Tweets stuff",
tabPanel("Contact",
sidebarLayout(
sidebarPanel(
textInput("ctFrom", "From:", value=""),
textInput("ctSubject", "Subject:", value="Sugerencias BTT"),
actionButton("ctSend", "Send")
),
mainPanel(
aceEditor("ctMessage", value="")
)
)
))
),
server = function(input, output, session) {
observeEvent(input$ctSend, {
#I have more things here
js$pageCol (input$ctSend)
})
}
))