如何使rmarkdown::run直接在Web浏览器中显示带Shiny代码的Rmd文件?
直接用
rmarkdown::run的参数搞定外部浏览器打开问题 别愁啦,其实rmarkdown::run本身就带了控制浏览器的参数,之前的方法没用是因为那是针对普通Rmd编织的,交互式Shiny文档得用这个函数的专属参数来设置:
最省心的默认外部浏览器方案
调用run的时候直接加launch.browser = TRUE参数,它会自动调用你系统默认的外部浏览器打开文档,完全跳过RStudio内置的那个:rmarkdown::run("你的Shiny文档路径.Rmd", launch.browser = TRUE)指定特定浏览器打开
如果你想固定用Chrome、Firefox这类特定浏览器,也可以把launch.browser设为一个自定义函数,帮你启动目标浏览器:
举个Windows下用Chrome的例子:rmarkdown::run("your_shiny_doc.Rmd", launch.browser = function(url) { shell.exec(paste0("chrome.exe ", url)) })Mac下用Safari的话可以这么写:
rmarkdown::run("your_shiny_doc.Rmd", launch.browser = function(url) { system(paste0("open -a Safari ", url)) })全局默认设置(一劳永逸)
要是你每次跑Shiny Rmd都想用外部浏览器,可以提前设置全局选项,之后不用每次加参数:options(shiny.launch.browser = TRUE)设置完之后,直接运行
rmarkdown::run("your_shiny_doc.Rmd")就会自动弹外部浏览器了。
之前你试的「编织后不打开内置浏览器」的方法,只对静态Rmd的render过程生效,而带Shiny的交互式文档是通过run启动的Shiny服务,所以得用上面这些针对run参数的方案才行。
内容的提问来源于stack exchange,提问作者CharlotteS.
相关产品推荐
相关产品推荐

