R语言 如何在闪亮的应用程序中延长活动代码突出显示的时间?



我正在做一个闪亮的项目,其中闪亮的应用程序包含大量代码。我想使用以下方法以交互方式调试应用程序的代码:

runApp("ShinyApp.R", launch.browser = TRUE, display.mode = "showcase")

display.mode = "showcase"参数在我的浏览器中显示应用程序旁边的活动代码,并突出显示用户与应用程序交互的区域。以下是其工作原理的一个很好的例子:https://shiny.rstudio.com/articles/action-buttons.html

这个答案中提到了如何使用它的另一个例子:如何在闪亮的应用程序中突出显示活动代码?

我发现具有挑战性的是,因为我的应用程序脚本包含 800 多行代码,所以我无法看到突出显示(它消失得太快)。如此处所述:https://shiny.rstudio.com/articles/display-modes.html,突出显示会在片刻后消失。

我的问题是:

是否可以增加突出显示区域消失的时间?

有没有办法强制侧边栏滚动到突出显示的区域?

感谢您的任何建议或答案!

是的,是的,但你必须编辑源代码,它是Javascript。需要修改的代码存在于inst/www/shared/shiny-showcase.js.如果你想从那里开始,我已经在我的 Shiny 分支上进行了代码更改。

对于您关于高亮显示持续时间的第一个问题,这是由第 112 行的JQuery高光效果处理的:

// End any previous highlight before starting this one
jQuery(el)
.stop(true, true)
.effect("highlight", null, 5000);

原版是 1600 秒,即 1.6 秒,所以我在这里将其提高到 5 秒。您可以将其更改为您认为最好的任何内容。

您关于滚动到活动/突出显示代码的第二个问题不包含在原始脚本中,但执行功能已烘焙到 Web 元素中并称为element.scrollIntoView()。我只是在突出显示块之后立即插入了这段代码:

// Scroll to highlighted element
el.scrollIntoView({behavior: 'smooth'});

el是当前指向要突出显示的活动代码区域的变量名称。

这是调整操作的托管工作演示。

最新更新