Как остановить загрузку дополнительных ресурсов каждый раз, когда я нажимаю ссылку для загрузки новой страницы?

У меня странная проблема, когда я нажимаю на ссылку в моем проекте, я получаю дополнительный пакет ресурсов, каждый клик = +1 дополнительный пакет ресурсов. 10 кликов = 10 копий ресурсов. (10 изображений, 10 файлов css, 10 файлов js вместо 1). Все мои события jquery запускаются 10 раз. Я даже не знаю, где искать решение. Буду признателен за любую помощь.

мой app.js

    //= require jquery
    //= require jquery_ujs

    //= require foundation

    //= require turbolinks
    //= require jquery.easing.1.3.js
    //= require_tree .

    $(function(){
        $(document).foundation();
    });


    $(document).ready(function () {
        var $main_container = $("#main_container");
        var $menu_link = $('#menu-link');
        var $s_menu = $("#s-menu");

        $menu_link.click(function () {
            $main_container.animate({"margin-left": "-200px"}, 100);
            $s_menu.animate({"margin-right": "0"}, 100);
        });

        $(".container-fluid").on("click", function(){
            $main_container.animate({"margin-left": "0"}, 100);
            $s_menu.animate({"margin-right": "-200px"}, 100);
        });


        $('input[type="submit"]').focus(function(){
            $(this).blur();
        });

    });

============

После некоторых экспериментов (я удалил все js из своего проекта) мне кажется, что проблема заключается в кэшировании рельсов. Потому что каждый щелчок заставляет браузер загружать новый пакет ресурсов.

============

Я узнал, что моя проблема в геме turbolinks, он каждый раз кэширует ресурсы, а затем загружает новый пакет ресурсов. Но как я могу это исправить?


person FastIndian    schedule 09.10.2013    source источник


Ответы (1)


Где вы загружаете

<%= javascript_include_tag "application" %>

Если вы загружаете его внизу страницы внутри тела, турбоссылки обновляют весь тег тела, что может привести к многократной загрузке ресурсов при нажатии на ссылку. Переместите его наверх в голове.

person rkjb    schedule 10.10.2013
comment
Вместо этого я понял, что вызывал другие скрипты внутри тега body - person Crimbo; 15.05.2014