Turbolinks.visit 未在同一页面上触发
Turbolinks.visit not triggering on the same page
我有一个显示嵌入式画面仪表板的页面,在同一页面上有一个下拉菜单,用户可以使用该下拉菜单加载不同的仪表板,单击我称之为 Turbolinks.visit(url, {action: 'replace'})
[=17= 的下拉选项]
第 1 步:用户第一次打开仪表板时 link
https://www.example.com/dashboards/56
STEP 2:用户在下拉菜单中点击其中一个下拉选项“我的自定义视图”,Turbolinks.visit
执行,url将是https://www.example.com/dashboards/56?filter_id=12
第 3 步:用户现在可以与仪表板交互应用不同的过滤器,这会产生与第 2 步结果完全不同的视图,但这不会改变 URL 但是改变了视图
第 4 步:用户现在尝试再次单击下拉选项“我的自定义视图”以返回到早期版本的视图,但是 Turbolinks.visit
没有打开 URL 作为 URL没变
我的问题是如何强制 Turbolink.visit(url, {action: replace})
始终访问该页面,即使它在同一页面上?
这方面的任何帮助都会很棒。
更新 1: 我需要使用 Turbolinks 重新加载同一页面。如果我提供相同的页面 url,Turbolink.visit 不会触发,如果我提供不同的 url.
,它会起作用
如何使用 Turbolinks.visit 访问/重新加载同一页面。
它按预期工作,我有以下代码阻止在同一页面上重新加载
$(document).on('turbolinks:before-visit', function(event) {
if (event.originalEvent.data.url == window.location.href) {
event.preventDefault();
}
});
我有一个显示嵌入式画面仪表板的页面,在同一页面上有一个下拉菜单,用户可以使用该下拉菜单加载不同的仪表板,单击我称之为 Turbolinks.visit(url, {action: 'replace'})
[=17= 的下拉选项]
第 1 步:用户第一次打开仪表板时 link https://www.example.com/dashboards/56
STEP 2:用户在下拉菜单中点击其中一个下拉选项“我的自定义视图”,Turbolinks.visit
执行,url将是https://www.example.com/dashboards/56?filter_id=12
第 3 步:用户现在可以与仪表板交互应用不同的过滤器,这会产生与第 2 步结果完全不同的视图,但这不会改变 URL 但是改变了视图
第 4 步:用户现在尝试再次单击下拉选项“我的自定义视图”以返回到早期版本的视图,但是 Turbolinks.visit
没有打开 URL 作为 URL没变
我的问题是如何强制 Turbolink.visit(url, {action: replace})
始终访问该页面,即使它在同一页面上?
这方面的任何帮助都会很棒。
更新 1: 我需要使用 Turbolinks 重新加载同一页面。如果我提供相同的页面 url,Turbolink.visit 不会触发,如果我提供不同的 url.
,它会起作用如何使用 Turbolinks.visit 访问/重新加载同一页面。
它按预期工作,我有以下代码阻止在同一页面上重新加载
$(document).on('turbolinks:before-visit', function(event) {
if (event.originalEvent.data.url == window.location.href) {
event.preventDefault();
}
});