为什么此链接无法在iPhone上运行?

时间:2017-01-11 19:31:21

标签: html css ruby-on-rails iphone ssl

转到this site here,然后点击'订阅'在顶部的导航中。

然后点击“立即订阅”#39;按钮。

它应该将您重定向到注册页面。

在Safari和Chrome的iPhone上都没有。

它基本上只是重定向回同一页面。

这只是一个普通的href链接,没有JS或类似的东西。

如果您从台式机或笔记本电脑或其他设备上尝试此链接,则此链接有效。

其他链接也适用于同一页面上的iPhone。

我不太确定如何在iPhone上调试奇怪的前端行为。

修改1

似乎它在OS X上的Safari上无效。但它适用于OS X上的Chrome。

不确定如何在Safari上调试。

修改2

好的,我想出了如何在Safari中访问开发人员工具,我能够跟踪它:

enter image description here

所以我跳出来的可能是我在生产环境中没有force_ssl = true

但是当我这样做时,我最终陷入了重定向循环,整个网站崩溃了:

The domain_name.com page isn’t working
domain_name.com redirected you too many times.
Try clearing your cookies.
ERR_TOO_MANY_REDIRECTS

编辑3

这是一个简单的link_to标记,如下所示:

        <div class="col-lg-12 text-center">
            <%= link_to "Subscribe Now", new_subscription_path(plan: "basic-annual"), class: "btn btn-success btn-lg subscribe-btn" %>
        </div>

生成以下HTML:

<div class="col-lg-12 text-center">
                <a class="btn btn-success btn-lg subscribe-btn" href="/subscription/new?plan=basic-annual">Subscribe Now</a>
            </div>

没有与之相关的JS。但我确实认为这与SSL有关。

2 个答案:

答案 0 :(得分:2)

看起来Turbolinks正在起作用。您可以针对data-turbolinks="false"的特定链接禁用它:

<a class="btn btn-success btn-lg subscribe-btn" data-turbolinks="false" href="/subscription/new?plan=basic-annual">Subscribe Now</a>

使您的链接完美无缺。 :d

答案 1 :(得分:1)

我注意到你正在使用Turbolinks(vanilla Rails安装?)。

出于某种原因,Turbolinks正在请求您网站的http版本。这就是为什么在Safari上没有发生任何事情,它只是阻止内容,因为该页面是通过https提供的,所以ajax也应该是https:

  

https://recrutz.com/subscription/new?plan=basic-annual的页面不允许显示来自http://recrutz.com/register的不安全内容。

您可以尝试更新Turbolinks吗?这个已修复的问题与您的问题相关:https://github.com/turbolinks/turbolinks-classic/issues/570