问题标签 [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.
ruby-on-rails-5 - Turbolinks 5 不适用于某些链接
对于这个看似简单的问题,我找不到任何答案。在我的 rails5 应用程序中,一些链接确实使用 turbolinks 来加载新页面。但有些只是启动整页重新加载。
该链接没有附加 js,该链接上未禁用 turbolinks。
此链接使用 turbolinks:
在它的动作中
这个链接没有:
在它的动作中
因此,没有任何东西明确阻止 turbolinks 工作。
为什么?
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,谢谢。
ruby-on-rails - Facebook 页面选项卡 FB.login 未捕获的类型错误:无法读取 null 的属性“postMessage”
您好,我正在创建一个 facebook 页面选项卡,其中 facebook 页面的所有者将能够出售任何东西。
因此,当有人访问该页面并单击结帐按钮时,应用程序调用 FB.login 方法,我收到以下错误。
我的代码在这里。
FB.getLoginStatus 的 response.status 是not_authorized
. 我使用 javascript SDK
javascript - 使用 Turbolinks 重新加载 POST 表单
在这里,我的搜索表单有问题。当我提交表单时,搜索页面会加载我的参数,我的 PHP 会获取我的 POST 并显示响应。
但是,如果我重新加载搜索页面,浏览器不会提醒我重新加载数据,我知道涡轮链接会导致这种情况,但我尝试了一切......
结论:当我提交时,我的 POST (PHP) 不为空,但是之后,当我重新加载时,我的 POST 不再存在......
我试过: attr ==> data-turbolinks = false (在我的搜索页面上禁用 turbolinks)
重新加载后如何保留我的 POST ?
注意:我不使用 jQuery 或任何其他库。只是涡轮链接。
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 ->
为什么会这样?
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
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
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交叉发布问题我在这里发布的唯一原因是我已经坚持了好几天
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 抛出异常。
关于如何解决这个问题的任何想法?
android - Turbolinks-Android使用 min sdk 版本 19 无法正常工作
我已经启动了一个 Turbolinks android 应用程序并且有一个需要日期输入的表单。
问题是,当我触摸日期输入字段时,它不会显示本机 android 日期选择器,这很奇怪,因为当我在设备上的 Chrome 浏览器中加载页面时,它会显示..
我知道 android WebViews 从 API 版本 19 开始只支持这些类型的 HTML5 输入,所以我已经这样设置了我的应用程序:
应用程序/build.gradle
我没有使用任何可能干扰的 CSS 或 JS 库。我还检查了模拟器使用 Chrome 网络视图实现。我已经对其进行了测试,但它type="datetime"
也type="time"
不起作用。
我很感激这方面的任何帮助。也许我错过了什么?
谢谢。