2016-07-18 16 views
1

条件付きパネルがたくさんある光沢のあるアプリを構築しています。条件付きパネル間を移動するために、アプリケーション自体に戻るボタンがあります。そのボタンをクリックすると以前のウェブページ(私のアプリから離れている)に行くので、ウェブブラウザの戻るボタンを無効にしたいと思います。これを行う方法はありますか?Rシャイニーアプリでブラウザの戻るボタンを無効にする

答えて

2

これを行うには、javascriptと書くことができます。ここで私は2つの例を持って、私は唯一のブラウザ

rm(list = ls()) 
library(shiny) 
jscode <- 'window.onbeforeunload = function() { return "Please use the button on the webpage"; };' 
ui <- basicPage(
    mainPanel(tags$head(tags$script(jscode))) 
) 

server <- function(input, output,session) {} 
runApp(list(ui = ui, server = server)) 

enter image description here

例2内backボタンの起動時にメッセージが返されますChrome

例1でこれをテストしたことに注意してくださいはナビゲーションを完全に無効にします。個人的には、サイトが標準のナビゲーション機能を提供していないと迷惑をかける可能性があるので、この方法が嫌いです。

rm(list = ls()) 
library(shiny) 
jscode2 <- "history.pushState(null, null, document.title); 
window.addEventListener('popstate', function() { 
    history.pushState(null, null, document.title);});" 
ui <- basicPage(
    mainPanel(tags$head(tags$script(jscode2))) 
) 

server <- function(input, output,session) {} 
runApp(list(ui = ui, server = server)) 
関連する問題