javascript - 目标页面完全加载时重定向

标签 javascript ruby-on-rails redirect

我正在尝试在我的网站上实现附属链接。我曾经使用 JavaScript 来完成此操作,但我想将链接保留在 Controller 中,而不是将来将其交给 JavaScript 或 html。使用 JavaScript,我会等待目标页面加载(或至少 1 秒),然后将用户重定向到该页面。

如果我在 Rails Controller 中使用“redirect_to”,它会直接重定向,从而完全隐藏 View 。有没有办法在一定时间后使用redirect_to,以便至少显示我的 View 或在目标页面完全加载后?

代码示例如下:

def index
   redirect_to www.google.com
end

最佳答案

你可以使用Ruby Sleep方法,只是知道它很浪费资源,达不到你想要的效果。

def index
   sleep 3
   redirect_to www.google.com
end

JS 解决方案将是性能更高的解决方案。如果您担心用户查看链接,我建议您采用这种方法。使用 JS 检测页面何时加载,并让它在重定向之前等待用户需要查看的时间。然后使用 JS 重定向到站点上将进行直接重定向的不同 Controller 操作。这将确保在重定向之前为用户加载页面,用户有足够的时间查看该页面上的内容,并且您的联属链接是 Ruby 而不是 JS,例如:

def redirect_to_affiliate
   redirect_to www.google.com
end

关于javascript - 目标页面完全加载时重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28001000/

相关文章:

ruby-on-rails - capistrano 回滚会撤消迁移吗?

php - 根据 IP 地址国家代码重定向访客

javascript - 如何从 Rails 使用 AJAX 更新页面?

javascript - 如何在 Restify 7.x 中使用自定义错误选项创建自定义错误?

javascript - 如何正确使用选铁器?像铁页一样使用时,项目似乎为空

ruby-on-rails - Ruby on Rails 脚手架开发插件

javascript - 如何滚动 "tbody"内的特定区域

mysql - 在 db 中查找对象并从 ActiveRecord 中的另一个表附加额外参数

apache - HSTS 和重定向

apache - 将域下的所有请求重定向到静态页面