2017-09-12 18 views
5

numaralı telefonu çağırırken bağımsız bir tarayıcı penceresi çalıştıran bir tarayıcıda Windows'da bağımsız bir R Shiny uygulaması çalıştırıyorum options(browser=path/to/browser/exe) ve shiny::runApp("path/to/app", launch.browser=TRUE) kullanarak. Desteklenmesi gereken tarayıcı MSIE'dir (varsayılan), ancak varsa, Chrome veya Firefox da olabilir. Amacım, uygulamayı tek başına bir Chrome uygulaması için --app= komut satırı seçeneğini kullanıyormuş gibi, yani yeni bir tarayıcı penceresinde, menü çubuğunun ve araç çubuğunun sıyrıldığı, ancak başlık çubuğunu ("kiosk" da değil) koruduğu şekilde çalıştırmaktır. modu) ve mümkünse, tarayıcının başka içeriği olmadan (önceden açılmış sekmeler veya bir ana sayfa gibi). Bunu yapmanın en iyi yolu nedir? JavaScript kullanarak MeselaR Shiny: runApp

, bir çağırır: İşi (+/- location=no tutarsız destek, yani ben yaşayamam adres çubuğuna devre dışı bırakma) yapacağını

window.open("http://127.0.0.1:5555/", "MyApp", "menubar=no,toolbar=no,location=no"); 

. Şimdi, R Shiny kullanarak nasıl yapılır?

+0

Olası yinelenen varsayılan tarayıcı] (https://stackoverflow.com/questions/35311318/opening-shiny-app-directly-in-the-default-browser) –

+0

@ domuz-pirzola, nope, farklı Q there (daha basit) – trybik

+0

tüm tarayıcıları desteklemek için mi yoksa sadece IE yeterli mi? –

cevap

5

Çok şık değil, ancak Internet Explorer'ı COM arabirimiyle, örn. Paket RDCOMClient. belgelerine durumlar gibi

, launch.browser argüman da uygulama URL'sini verilir bir fonksiyonu olabilir, bu yüzden orada nesne oluşturabilirsiniz: doğrudan [Açılış Parlak App

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) 

     }) 
+0

aferin, efendim! – BigDataScientist

+0

Gerçekten de bu amaç ile tasarlanmış IE ile çalışır - güzel. Hala tarayıcıdan bağımsız bir çözüm için balık tutuyorum. (JS window.open/window.close shenanigans dışında başka bir şey düşünemiyorum.) – trybik