仅从特定页面自动重定向 - Rails

时间:2016-08-28 22:31:44

标签: javascript ruby-on-rails

我刚问了一个问题,如果15秒后没有用户操作,我会收到一些关于重定向到特定页面的帮助。所以,我有javascript将重定向页面但我只希望它发生在特定的页面,因为它现在是从网站的每个页面发生。要清楚,只有从用户显示页面到我想要它然后在15秒后重定向到根页面。为了清楚起见,我将显示当前的Javascript。

redirect.js:

 var redirectTimeoutId = window.setTimeout(redirectToHomepage, 15000)

function redirectToHomepage() {
  window.location.href = '/subscribers/search'; // or whatever your homepage would be
}

window.addEventListener('click keypress mousemove', function() {
  window.clearTimeout(redirectTimeoutId)
}, true)

正如您所见,没有指明它应该只从特定页面重定向。有人知道怎么做吗?

1 个答案:

答案 0 :(得分:1)

你只能在你希望它触发的页面上添加这个JS,但这是针对Rails约定的。您的其他选择是检查您所在的页面。有很多方法可以做到这一点,但像这个if语句应该有效。

if(window.location.pathname == "/path/to/user/show/page") {
  var redirectTimeoutId = window.setTimeout(redirectToHomepage, 15000)

  function redirectToHomepage() {
    window.location.href = '/subscribers/search'; // or whatever your homepage would be
  }

  window.addEventListener('click keypress mousemove', function() {
    window.clearTimeout(redirectTimeoutId)
  }, true)
}