Vor kurzem habe ich ein HTML-Widget geschrieben, um eine Javascript-Datei für Venn Diagramm Plotten zu verwenden. In RStudio funktioniert die App gut, so dass ich bisher nicht erkannt habe, dass es ein Problem bei der Nutzung der App auf dem glänzenden Server gibt.HTMLWidget: Glänzende App läuft gut in Rstudio, aber nicht auf Shiny-Server
Wenn ich die App mit Shiny in RStudio ausführen, wird kein Fehler geworfen und der Webbrowser zeigt alle anderen Elemente meiner Shiny-Seite mit Ausnahme des neuen Widget. Betrachtet man die Entwicklerkonsole des Browsers, sehe ich den folgenden Fehler, der für mich irgendwie kryptisch ist.
Ich führe es auch außerhalb von RStudio, nur um sicher zu gehen, aber gleicher Fehler.
Ich habe dies mit 2 unabhängigen Paketen getestet, so scheint es ein systematischer Fehler auf meiner Seite zu sein.
Durch Überprüfung der laufenden App im Browser habe ich gesehen, dass das folgende div erstellt wird. Die übermittelten Daten konnte ich jedoch nicht finden.
<div id="vennDia" style="width:100%; height:400px; " class="vennConductor html-widget html-widget-output"></div>
vennConductor.js:
HTMLWidgets.widget({
name: 'vennConductor',
type: 'output',
initialize: function(el, width, height) {
},
renderValue: function(el, x, instance) {
// console.log(x)
$(el).jvenn(x)},
resize: function(el, width, height, instance) {
$(el).attr("width", width).attr("height", height)
}
});
Meiner Meinung nach „relevant“ HTMLWidget R Code:
htmlwidgets::createWidget(
name = 'vennConductor',
json_payload,
width = width,
height = height,
package = 'vennConductor',
elementId = elementId,
sizingPolicy = htmlwidgets::sizingPolicy(
browser.fill = TRUE,
viewer.fill = TRUE
)
)
#' @name vennConductor-shiny
#' @export
vennConductorOutput <- function(outputId, width = '100%', height = '400px'){
htmlwidgets::shinyWidgetOutput(outputId, 'vennConductor', width, height, package = 'vennConductor')
}
#' @rdname vennConductor-shiny
#' @export
renderVennConductor <- function(expr, env = parent.frame(), quoted = FALSE) {
if (!quoted) { expr <- substitute(expr) } # force quoted
htmlwidgets::shinyRenderWidget(expr, vennConductorOutput, env, quoted = TRUE)
}
und der Anruf-Widget:
jVennConductor(elementId = 'vennDia', venn_lists = vlist_01, displayMode=T, displayStat=T)
Hoffnung jeder kann helfen Sie mir. Vielen Dank!!!
P. S .: R und ein Packages sind up-to-date und mein Betriebssystem ist Windows 10.