最近,我一直在阅读有关turbolinks,这是不赞成的,但一个人应该有一个适当的知识。我读到过turbolinks用当前页面的主体替换所请求页面的主体,并合并头部。主要的速度来自于不必重新加载资源,如js或css文件,这些文件存在于请求页面和当前页面的头部,并且是相同的。我的困惑是,一些老年人说,涡轮不取代身体,而是它取代了身体的部分。如果有一个完整的身体交换,那么它几乎是相同的,即使你是发送一个普通的请求,而不是 AJAX 。现在我很困惑。请给予您的专业意见,关于工作流程的涡轮。
最近,我一直在阅读有关turbolinks,这是不赞成的,但一个人应该有一个适当的知识。我读到过turbolinks用当前页面的主体替换所请求页面的主体,并合并头部。主要的速度来自于不必重新加载资源,如js或css文件,这些文件存在于请求页面和当前页面的头部,并且是相同的。我的困惑是,一些老年人说,涡轮不取代身体,而是它取代了身体的部分。如果有一个完整的身体交换,那么它几乎是相同的,即使你是发送一个普通的请求,而不是 AJAX 。现在我很困惑。请给予您的专业意见,关于工作流程的涡轮。
1条答案
按热度按时间g6baxovj1#
默认情况下,在渲染期间,Turbolinks完全替换当前的
<body>
元素,并合并<head>
元素的内容。JavaScript窗口和文档对象,以及HTML<html>
元素,从一个呈现持续到下一个呈现然而,Turbolinks通过
data-turbolinks-permanent
注解有“永久”元素的概念。将此注解放置在任何具有ID的元素上,可以使该元素在页面更改时保持不变永久性元素在页面加载过程中保持不变,因此在导航后不需要重新应用对这些元素所做的任何更改
通过给它们一个HTML id并用data-turbolinks-permanent注解它们来指定永久元素
在每次呈现之前,Turbolinks通过
id
匹配所有永久元素,并将它们从原始页面传输到新页面,保留它们的数据和事件侦听器