这个问题与application loading without css有关。我检查了Java脚本控制台并遇到问题
Uncaught ReferenceError: Shiny is not defined
at (index):21
Uncaught ReferenceError: shinyjs is not defined
at (index):39
源代码中索引21处的脚本
`<script>Shiny.addCustomMessageHandler('shinyjs-show', function(params) { shinyjs.debugMessage('shinyjs: calling function "show" with parameters:'); shinyjs.debugMessage(params); shinyjs.show(params);})`;
该应用程序正在CentOs 6的闪亮服务器上运行。
答案 0 :(得分:1)
确保在运行该应用的会话内的某个地方调用shinyjs::useShinyjs()
。
通常,您会将其包含在闪亮的UI中。
但是,如果UI是在包内创建的,则在构建或安装包时,而不是在应用运行所在的会话中,它可能会调用useShinyjs
。
答案 1 :(得分:0)
这可能是问题所在(请参阅您的评论)。
按照here的指示,通过以下方式安装软件包:
sudo su - -c "R -e \"install.packages('shiny', repos='http://cran.rstudio.com/')\""
这是因为您的应用将由一个名为shiny
的用户运行,该用户可能由于您是另一个用户安装了该软件包而无法访问软件包shiny
。
答案 2 :(得分:0)
问题可能是因为在Shiny创建Shiny对象之前运行代码。如果您查看闪亮的代码,则具有以下内容:
$(function() {
// Init Shiny a little later than document ready, so user code can
// run first (i.e. to register bindings)
setTimeout(initShiny, 1);
});
您可以使用我正在使用的此功能:
var shinyReady = (function() {
var callbacks = $.Callbacks();
$(function() {
setTimeout(function() {
callbacks.fire();
callbacks = null;
}, 100); // this probably can be 2 since shiny use 1
});
return function(callback) {
if (callbacks) {
callbacks.add(callback);
} else {
callback();
}
};
})();
shinyReady(function() {
// your code that use Shiny object
});