Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R-extendShinyjs解析提供的JavaScript代码时出错_Javascript_R_Shiny_Shinyjs - Fatal编程技术网

R-extendShinyjs解析提供的JavaScript代码时出错

R-extendShinyjs解析提供的JavaScript代码时出错,javascript,r,shiny,shinyjs,Javascript,R,Shiny,Shinyjs,我正在用GitHub上的简单测试测试extendShinyJs 我已经安装了V8软件包,但即使使用示例脚本,也会出现以下错误: 错误:shinyjs:解析提供的JavaScript代码时出错。 我还尝试将JavaScript代码移动到www文件夹下的单独文件中 本次会议的其他信息: > sessionInfo() R version 3.1.3 (2015-03-09) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Win

我正在用GitHub上的简单测试测试extendShinyJs

我已经安装了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="")
         )
       )
    ))
)
)

server.R:

shinyServer(function(input, output, session) {
  #Programming with Twitter API

  observeEvent(input$ctSend, {
    #I have more things here
    js$pageCol (input$ctSend)
  })
}
如果您认为需要查看更多代码,请询问我我想清除“aceEditor”中的文本。

感谢您的快速帮助。

我可以运行您的示例(但为了简单起见,我将JS代码设置为字符串而不是它自己的文件。如果您希望它位于文件中,您需要使用
file=
参数,正如我在评论中所说的

为了证明JS是有效的,我将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)
    })
  }
))
库(闪亮)
图书馆(shinyjs)
图书馆(新亚斯)

jscode作为一个健全的检查,你能给我们看一下代码吗?我刚刚安装了shiny和v8并运行了这个示例,但直到我故意在JS端口中添加了一个输入错误后才能够重现错误。嗨,我是
shinyjs
的作者,只有当你的javascript确实无效时才会发生错误。如果你可以发布一个完全重现的示例代码如果出现错误,我可以尝试帮助调试。我还没有尝试运行您的代码,但是由于您使用的是单独的js文件,因此需要执行
extendShinyjs(script=“myfunc.js”)
。只有将JS代码作为string.PS提供时,才可以使用
text
参数。如果您发布一个最小的示例,而不是一个包含shinyAce和其他UI组件的示例,那么调试就更容易了。当然,它可以工作!在使用脚本文件的情况下,我已经用extendShinyjs(脚本=“www\\myfuncs.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)
    })
  }
))