【问题标题】:Troubles using CrossriderAPI with rails 4 turbolinks使用带有 rails 4 turbolinks 的 CrossriderAPI 的问题
【发布时间】:2014-01-17 10:51:50
【问题描述】:

我在使用 CrossriderAPIturbolinks 时遇到了一些问题,我的情况是这样的:

1。继续我的http://website.local/

2。运行检查以查看 Crossrider 扩展是否准备就绪:

CrossriderAPI.isAppReady('xxxxx', function(r) { if (r) (console.log('ready')) })

3。是的,当然,是吗。

4。浏览网站(使用 turbolinks

5。好吧,麻烦从这里开始。 turbolinks 将 DOM 更改为每个请求,但是当我重试检查 Crossrider 扩展是否已准备好时,我正在调查原因,我收到的是 false .似乎再也看不到我们的扩展了。

我正在调试这个code,看看我是否能解决这个问题。

有人成功了吗?任何帮助或建议都会很棒!

安东尼奥

【问题讨论】:

  • 只禁用turbolink
  • @apneadiving 太简单了! :)

标签: javascript jquery ruby-on-rails turbolinks crossrider


【解决方案1】:

我不熟悉 Turbolinks,但总的来说,根据他们的 GitHub 自述文件,“你不能依赖 DOMContentLoaded 或 jQuery.ready() 来触发你的代码”,我认为它严重阻碍了扩展在页面加载时运行这些事件。

特别是在这种情况下,由于 Turbolinks 替换了正文内容,它破坏了使用 DOM 内容进行操作的 CrossriderAPI 库。因此,如果不对代码进行大量修改,我认为 Turbolinks 不能与 CrossriderAPI 共存,并且可能会因扩展功能而中断。

【讨论】:

  • 经过一些神奇的尝试后,我得出的结论是你完全正确。
猜你喜欢
  • 2020-02-10
  • 2015-07-14
  • 2015-03-06
  • 1970-01-01
  • 2014-02-09
  • 1970-01-01
  • 2014-09-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多