问题标签 [turbolinks-5]

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 投票
1 回答
631 浏览

ruby-on-rails-5 - Turbolinks 5 不适用于某些链接

对于这个看似简单的问题,我找不到任何答案。在我的 rails5 应用程序中,一些链接确实使用 turbolinks 来加载新页面。但有些只是启动整页重新加载。

该链接没有附加 js,该链接上未禁用 turbolinks。

此链接使用 turbolinks

在它的动作中

这个链接没有

在它的动作中

因此,没有任何东西明确阻止 turbolinks 工作。

为什么?

0 投票
1 回答
139 浏览

ruby-on-rails - data-turbolinks:在 turbolinks-ios 中打开浏览器的错误 URL

我使用 Turbolinks 5 设置了我的 Rails 应用程序,并且成功构建并发布了 android 应用程序,它正在使用我的 data-turbolinks="false"。我正在启动 iOS 应用程序,除了 data-turbolinks="false" 链接结束打开 Safari 而不是执行与链接绑定的 javascript 函数外,一切似乎都在工作。

这不是在 Turbolinks for IOS 中处理的,我需要自己处理吗?我非常密切地关注演示应用程序以开始使用。我是 Swift 和 iOS 的新手。我可以使用任何需要的代码进行编辑。任何帮助都是appriciated,谢谢。

0 投票
0 回答
535 浏览

ruby-on-rails - Facebook 页面选项卡 FB.login 未捕获的类型错误:无法读取 null 的属性“postMessage”

您好,我正在创建一个 facebook 页面选项卡,其中 facebook 页面的所有者将能够出售任何东西。

因此,当有人访问该页面并单击结帐按钮时,应用程序调用 FB.login 方法,我收到以下错误。

我的代码在这里。

FB.getLoginStatus 的 response.status 是not_authorized. 我使用 javascript SDK

0 投票
0 回答
283 浏览

javascript - 使用 Turbolinks 重新加载 POST 表单

在这里,我的搜索表单有问题。当我提交表单时,搜索页面会加载我的参数,我的 PHP 会获取我的 POST 并显示响应。

但是,如果我重新加载搜索页面,浏览器不会提醒我重新加载数据,我知道涡轮链接会导致这种情况,但我尝试了一切......

结论:当我提交时,我的 POST (PHP) 不为空,但是之后,当我重新加载时,我的 POST 不再存在......

我试过: attr ==> data-turbolinks = false (在我的搜索页面上禁用 turbolinks)

重新加载后如何保留我的 POST ?

注意:我不使用 jQuery 或任何其他库。只是涡轮链接。

0 投票
1 回答
310 浏览

javascript - jquery 3 document ready 阻止 turbolinks 执行

到目前为止,我使用的是 jQuery 1.12.4,一切都很好,我有这样的事情:

我昨天升级到 Rails 5.1 并决定添加和升级我的 jQuery(是的,我仍然需要它)所以我使用 yarn 安装了 jQuery 3,但是上面相同的代码没有被执行,至少 turbolinks 部分(控制台每次加载文档时都会执行.log,但“start”方法不执行)

我删除了$(document).ready ->,代码开始按预期工作!!!

为了确保我还删除了 jQuery 3 并重新安装了 jQuery 1.12 并且它工作正常!即使$(document).ready ->

为什么会这样?

0 投票
1 回答
886 浏览

ruby-on-rails-5 - 如何使用 rails 5 将回复渲染到 turbolinks 5

我有一个控制器操作,我想接收表单数据,执行一些业务逻辑,然后刷新表单。如果我将对象保存在数据库中然后使用redirect_to,这可以正常工作。我希望控制器在内存中编辑对象并直接呈现响应。

例如,采用标准 rails 5.1.4 生成的应用程序,如下所示:

为简洁起见并启用 turbolinks 的形式稍作编辑:

A) 现在我们编辑控制器以更改对象。这使用重定向进行编辑和工作:

B)这使用渲染并且不起作用:

使用 A) - 控制器接收更新请求 - 修改对象(并保存) - 返回重定向 - 呈现重定向的 url - 更新 DOM 使用 B) - 控制器接收更新请求 - 修改对象(在内存中) -响应被渲染 - 浏览器接收到响应,但被忽略

收到的回复,看起来是正确的。完整的 HTML,包含对对象所做的更改。如何让 turbolinks 注意到它并像往常一样替换 document.body?

完整的项目,包括 development.log在 Github

0 投票
1 回答
1182 浏览

javascript - turbolinks:加载事件未在远程 true 调用、rails、jquery 上触发

我有一个简单的js文件app/assets/javascripts/media_preview_script.js

据说turbolinks:load在第一页加载时附加此脚本,然后在此之后调用任何 turbolinks,但它不会这样做。它仅在页面加载时加载,然后remote: true不附加任何返回事件的调用。这与我的应用程序中的任何脚本相同。

这是因为$(document).on('turbolinks:load'...一开始,当我删除它时,如果我在视图表单中包含文件,<%= javascript_include_tag "file_name" %>我没有在文档上获得双重附件,并且事件将附加每个 js 调用或页面加载。所以我的问题是,javascript_include_tag 是否添加了 turbolinks 函数?或者谁能​​告诉我这里发生了什么。我正在使用rails 5。

布局/application.html.erb

javascipt 在此处包含标记 api 文档,并此处包含布局和渲染

0 投票
2 回答
198 浏览

android - 在 Android Turbolinks 上,如何创建自定义进度视图来替换默认微调器?

在使用 Turbolinks 5 的 Android 上,我没有得到经典的 Turbolinks 过渡(没有任何中间白页,顶部有水平进度条)。所以 我认为我需要自己的 progressView 但我可能错了

我的MainActivity.java中有这个

这在我的activity_main.xml中

毕业设置是

当我运行上述内容时,我得到了IllegalArgumentException "A progress indicator view must be provided in your custom progressView.",所以我尝试了

但我仍然得到IllegalArgumentException "A progress indicator view must be provided in your custom progressView."

显然我无法实例化权利progressView,我的问题是我如何获得/创建权利progressView

提前道歉从Turbolinks-Android交叉发布问题我在这里发布的唯一原因是我已经坚持了好几天

0 投票
4 回答
1729 浏览

javascript - Bootstrap Native 不适用于 Turbo Links

我正在尝试获取Bootstrap Native在 Rails 5 应用程序中与Turbolinks 5一起使用。当我第一次加载页面时,Bootstrap 下拉菜单工作正常,但导航到另一个页面后,Bootstrap 下拉菜单不再工作。就好像 Bootstrap 的事件侦听器断开连接一样。

我已经看到几个关于 Bootstrap 的 jQuery 实现的问题解决了这个问题,但是,我有兴趣使用Bootstrap Native并从我的 JS 堆栈中消除 jQuery 很感兴趣。

以下是一些细节:

应用程序.js

应用程序布局

bootstrap-native 这是Bootstrap Native 包

从我的 Javascript 标记中删除'data-turbolinks-eval': 'false',从而在每个 Turbolink 导航上重新评估应用程序的所有 Javascript,确实解决了 Bootstrap Native 问题,但它会导致 rails-ujs 抛出异常。

关于如何解决这个问题的任何想法?

0 投票
0 回答
196 浏览

android - Turbolinks-Android使用 min sdk 版本 19 无法正常工作

我已经启动了一个 Turbolinks android 应用程序并且有一个需要日期输入的表单。

问题是,当我触摸日期输​​入字段时,它不会显示本机 android 日期选择器,这很奇怪,因为当我在设备上的 Chrome 浏览器中加载页面时,它会显示..

我知道 android WebViews 从 API 版本 19 开始只支持这些类型的 HTML5 输入,所以我已经这样设置了我的应用程序:

应用程序/build.gradle

我没有使用任何可能干扰的 CSS 或 JS 库。我还检查了模拟器使用 Chrome 网络视图实现。我已经对其进行了测试,但它type="datetime"type="time"不起作用。

我很感激这方面的任何帮助。也许我错过了什么?

谢谢。