我正在尝试在我的网站上实现附属链接。我曾经使用 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/