问题标签 [turbolinks]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3703 浏览

ruby-on-rails - Turbolinks 乘以绑定

我遇到了一个问题,Turbolinks 在通过浏览器使用后退/前进按钮时会多次绑定事件。我有一个简单的脚本来确保它不是我编写 document.on() 事件的方式,所以......

单击链接时将触发一次。单击后退或前进(或另一个 Turbolink 链接)将触发两次。下一次它会开火很多次,它会不断增长。这是我在 jQuery 和 Turbolinks 之外的清单文件中唯一的东西。如何防止 Turbolinks 复制事件绑定?

0 投票
0 回答
528 浏览

ruby-on-rails-4 - rails 4,turbolinks和缓存视图 - 奇怪的行为

我在生产环境中有一个奇怪的问题。我正在使用 rails 4、ruby 1.9.3、nginx 和 unicorn,除了标准 rails 中的缓存之外,没有合适的缓存。

我怀疑问题与turbolinks有关,但不一定,关键是当我在站点之间传递并返回它们时,我仍然看到那些站点的旧版本,例如出现新顺序,我'我去订单页面,我看到旧数据,然后刷新页面后我得到新数据,另一个例子当我登录时,出现flash消息,而不是点击另一个页面并返回旧页面后我仍然有这个flash消息(请注意,我没有在浏览器中使用后退按钮)。

你知道发生了什么吗?

在开发模式下,一切正常(我也在使用 turbolinks)

提前致谢

0 投票
0 回答
124 浏览

ruby-on-rails - 加载错误的资产渲染应用程序布局

我对资产有一种奇怪的问题。在application.html.erb尝试以这种方式包含控制器特定资产

application.js看起来像这样:

General文件夹包含一些常见的 JS 文件。应用程序使用 2 个控制器:IndexProfiles(根路由是“index#index”)。在某个时刻,Rails 开始以错误的方式加载资产:在索引页面profiles.js上加载和index.js在 /profiles/new 上。仅当我在导航栏中按index或链接时才会出现此问题。在单独的选项卡中打开此页面或仅使用+create profile重新加载页面似乎没有问题。所以我认为这是一些turbolinks问题?CtrlR

0 投票
1 回答
1135 浏览

ruby-on-rails-4 - Turbolinks 外部 javascript(此处:ACE 编辑器)

我正在尝试在使用 turbolinks 的页面中实现 ACE 编辑器。但是,编辑器仅在我直接调用该页面或重新加载页面时才起作用。导航到它不会触发使编辑器工作的所有必要步骤。

当前集成:

这会抛出一个Uncaught TypeError: Cannot read property 'ace/ace' of undefined.离开页面后,js 似乎卡在页面上,并且在每次导航加载时,我都会得到一个 Uncaught ReferenceError: ace is not defined.

在此处包含 ACE 编辑器(或其他外部库)的正确方法是什么?通过 sprockets 加载它们是行不通的,当将它们复制到vendor/javascripts/sprockets 清单中并要求它们时,我很难让它正常运行。

关于turbolinks和正确方法的任何启示?

0 投票
1 回答
141 浏览

javascript - 每次单击链接以加载新页面时,如何停止加载其他资产?

我有一个奇怪的问题,当我单击项目中的链接时,我会得到一个额外的资产包,每次点击 = +1 个额外的资产包。10 次点击 = 10 个资产副本。(10 个图像,10 个 css 文件 10 个 js 文件而不是 1 个)。我所有的 jquery 事件都被触发了 10 次。我什至不知道在哪里寻找解决方案。我将不胜感激任何帮助。

我的 app.js

=============

经过一些试验(我从我的项目中删除了所有 js),在我看来,问题在于 Rails 缓存。因为每次点击都会迫使浏览器下载新的资产包。

=============

我发现我的问题出在 turbolinks gem 中,它每次都会缓存资产,然后下载新的资产包。但是我该如何解决这个问题?

0 投票
2 回答
1880 浏览

javascript - Javascript 没有出现在 Rails 4 中。(Highchart)

我在一个更简单的 Rails 应用程序中包含了 Highcharts,它工作得很好。但是当我在更复杂的 Rails 应用程序中做同样的事情时,图表没有显示 Javascript 代码。

这是我到目前为止所做的:

宝石文件

应用程序.js

显示.html.erb

有人知道我做错了什么吗?谷歌告诉它可能与turbolinks有关,但它也不适用于其他应用程序......

快速的第二个问题。我如何将此代码添加到 channel.js.coffee 以便此页面上没有 js?提前致谢!

0 投票
4 回答
6184 浏览

ruby-on-rails - Rails 4 和 Turbolinks - 元标记不变

我有一个启用了 turbo-links 的 Rails 4 应用程序,但是在更改页面时我无法刷新元标记(不是完全刷新)。我读到需要在加载涡轮链接的 javascript 之前包含元标记,但它没有效果。完全刷新可以完成这项工作,但不幸的是这不是我要搜索的。

布局/application.html.haml

助手/application_helper.rb

def meta_tag(标题,描述)

结尾

我就是这样称呼他们的

谢谢

0 投票
2 回答
858 浏览

javascript - Rails 4 turbolinks 导致 html 画布在 ipad 上消失

我正在使用 Ruby on Rails 4。 -- app/views/layouts/application.html.erb 包含:

--app/assets/javascripts/application.js 包含:

该程序在我的 Chrome 和 Firefox 工作站上运行良好。但是,在 Safari 中的 ipad 上,当我单击链接时,我无法再通过单击按钮使画布重新出现。当我重新加载页面时,该按钮起作用。如果我删除 application.html.erb 的第 4 行,那么 Safari 的行为就像 Chrome,并且该按钮始终有效。但是,如果没有第 4 行,链接将不再导致框消失。

这是我的第一个 Rails 项目。我在这里完全不知所措,我们将不胜感激任何帮助、见解、线索或建议。先感谢您。--laertiades

0 投票
3 回答
1452 浏览

ruby-on-rails - Rails 布局动态渲染

我有一个 Ruby on Rails 应用程序,它最基本的级别由两个面板组成,左侧面板和右侧面板。我想要的是将其用作布局,并在控制器中进行渲染render <view_name>, <right or left panel>,以便与 turbolinks 结合使用,仅动态创建左侧或右侧面板。

我搜索了互联网,但没有找到像我这样的例子。我确定这是可行的,但如何?
编辑:它应该能够在 chrome for Android 中运行。一种解决方案是在第一个请求上呈现所有视图,当我单击链接时,面板会被隐藏并显示,但我认为这不行。有什么意见吗? 在此处输入图像描述

0 投票
1 回答
274 浏览

ruby-on-rails - 带有 turbolink 和手风琴的导轨

我有这个作为侧边栏的 JQuery UI 手风琴。我想对部分点击事件采取额外的行动,我已经根据这个SO 响应进行了这项工作:

现在......这可行,但单击其他​​链接的方式不同,因为通过使用 turbolinks 执行了我想模拟的 AJAX 切换器。

不用说,模拟点击并不能解决问题。我期待这样的事情

但导轨风格。那么如何遵循链接 turbolinks 样式呢?

PS:我剥离的gemfile: