efficiently/turbolinks

此包已被废弃,不再维护。作者建议使用frenzy/turbolinks包。

Turbolinks使Laravel 4.1+中跟踪链接更快

dev-master 2015-03-30 08:23 UTC

This package is auto-updated.

Last update: 2022-02-01 12:39:12 UTC


README

支持原始仓库Frenzy Turbolinks,该仓库合并了我的更改 👍

Laravel 4.1+的Turbolinks

Turbolinks是将Rails的turbolinksjquery.turbolinks宝石移植到使用PHP Laravel 4.1+框架的项目。

版本

以下JavaScript库的当前版本被使用

  • turbolinks: v2.4.0
  • jquery.turbolinks: v2.1.0

有关Laravel 5.0的支持,请参阅Turbolinks 1.0分支

性能

Turbolinks使您的Web应用程序中的链接跟踪更快。它不会让浏览器在每次页面更改之间重新编译JavaScript和CSS,而是保持当前页面实例存活,并只替换head中的body和title。

性能改进将取决于您使用的CSS和JavaScript的数量。当使用大量的JavaScript和CSS时,您可以获得高达2倍的性能提升。您可以在这里找到Rails基准测试。

安装

使用Composer

在您的composer.json中添加以下内容

{
    "require": {
        // ...
        "efficiently/turbolinks": "dev-master"
    }
}

在终端运行此命令

composer update efficiently/turbolinks

'Efficiently\Turbolinks\TurbolinksServiceProvider', 添加到app/config/app.php中的providers数组(如果您已安装此包,请在Larasset之后)。

使用Larasset

如果您已安装Larasset

turbolinks.jsjquery.turbolinks.js文件添加到资产管道中,并可供您使用。

在您的app/assets/javascripts/application.js文件中按此顺序添加以下行

//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//
// ... your other scripts here ...
//
//= require turbolinks

然后在您的布局的主<head>部分。

<!DOCTYPE html>
<html lang="en">
    <head>
        <!-- ... -->
        {{ stylesheet_link_tag('application', ['data-turbolinks-track' => true]) }}
        {{ javascript_include_tag('application', ['data-turbolinks-track' => true]) }}
    </head>
    <!-- ... -->
</html>

未使用Larasset包(旧方法)

点击这里手动发布资产。

兼容性

Turbolinks JavaScript 旨在与任何完全支持 pushState 和所有相关 API 的浏览器协同工作。这包括 Safari 6.0+(但不包括 Safari 5.1.x!)、IE10+ 以及最新的 Chrome 和 Firefox。

请注意,由于实例化周期的变化,现有的 JavaScript 库可能并非都与 Turbolinks 兼容。您可能需要修改它们以与 Turbolinks 的新事件集协同工作。有关帮助,请参阅Turbolinks 兼容性项目

额外资源

如果您需要有关 JavaScript 库及其使用的更多信息,请参阅turbolinksjquery.turbolinks 项目。

问题报告

对于问题或功能请求,请创建一个问题

致谢

此包是基于Frenzy Turbolinks仓库的分支。

该仓库基于 Symfony 中间件包Helthe Turbolinks

非常感谢他们!