我通过设置shiny::runApp("path/to/app", launch.browser=TRUE)
)并使用--app=
在浏览器中在Windows上运行独立的R Shiny应用。要支持的浏览器是MSIE(默认),但是,如果可用,它也可以是Chrome或Firefox。我的目标是运行应用程序,就好像使用window.open("http://127.0.0.1:5555/", "MyApp", "menubar=no,toolbar=no,location=no");
命令行选项用于独立的Chrome应用程序,即在新的浏览器窗口中,该窗口被剥离了菜单栏和工具栏,但保留了标题栏(所以不在" kiosk"模式),如果可能的话,没有浏览器的任何其他内容(如先前打开的标签或主页)。最好的方法是什么?
例如,使用JavaScript,可以调用:
location=no
可以完成这项任务(+/-对{{1}}的不一致支持,即禁用我可以使用的地址栏)。现在,如何使用R Shiny做到这一点?
答案 0 :(得分:6)
它不是很优雅,但您可以通过COM接口使用例如启动Internet Explorer。包RDCOMClient
。
正如文档所述,launch.browser
参数也可以是一个给定应用程序URL的函数,因此我们可以在那里创建对象:
library(RDCOMClient)
runApp("path/to/app",
launch.browser = function(shinyurl) {
ieapp <- COMCreate("InternetExplorer.Application")
ieapp[["MenuBar"]] = FALSE
ieapp[["StatusBar"]] = FALSE
ieapp[["ToolBar"]] = FALSE
ieapp[["Visible"]] = TRUE
ieapp$Navigate(shinyurl)
})