You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现learnr教程首次加载时自动重置R代码窗口内容

learnr教程首次运行自动清空代码窗口配置方法

learnr原生提供对应配置项,无需额外编写自定义前端脚本即可实现需求,具体配置方式分两种场景:

  • 全局生效配置
    在教程Rmd文档的初始化setup代码块中,添加如下配置,即可让所有练习类代码块在每次教程启动时重置为初始状态,不加载历史残留代码:

    # setup块内配置
    knitr::opts_chunk$set(
      exercise.startover = TRUE # 核心参数:启动时强制重置所有练习块状态
    )
    options(
      # 若不需要保留用户跨访问的练习记录,可将存储模式设为none,刷新即清空
      # 若需要保留用户单次访问期间的输入、下次打开再清空,保留默认local存储即可
      tutorial.storage = "local"
    )
    

    由于你设置的是供自由练习的空白代码窗口,本身没有预置初始代码,开启该参数后首次加载会直接显示空白编辑区,不会带出之前操作留存的历史代码。

  • 单代码块单独配置
    如果仅需要给计算器练习用的空白代码块开清空规则,不影响其他需要保留学习进度的练习块,直接在对应代码块的块参数中声明即可:

    ```r r-calculator, exercise=TRUE, exercise.startover=TRUE}
    
    ```
    

shinyapps.io部署注意事项

  1. 重新部署前删除项目路径下的缓存文件夹(包括_learnr_cache、.Rproj.user目录),避免把本地测试产生的历史代码缓存打包上传
  2. 部署完成后优先使用无痕访问模式验证效果,排除本地浏览器缓存的旧版本资源干扰
  3. 若之前部署的版本留存了服务端缓存,重新部署时选择启动全新应用实例,不要复用旧实例的存储数据

注意:不建议随意修改全局存储规则为none,该设置会导致用户刷新页面就丢失所有练习输入,仅适合完全无进度留存需求的纯自由练习场景。

内容的提问来源于stack exchange,提问作者Benn Fine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 13:51:46