|
master ↓
|
 |
|
20 Февраль, 2011, 01:01:46
|
НЕ ХУЕТА!
ХУЕТА!
|
Квадратов сколько видишь ты?
Группа: Джедаи Карма: 44
Сообщений: 2080 Сила слова: 2.12
|
Один из методов frontend-оптимизации - перенести скрипты в низ страницы (после body например). Для этого должен быть какой-то менеджер скриптов, с синтаксисом например таким:
//haml
:require_script{:type=>'text/javascript', :src=>'/js/jquery.js'}
или
//haml
:insert_script_bottom{:type=>'text/javascript'}
$(function(){
blablabla();
})
в результате дубликаты скриптов удалятся, а скриптовые вставки вставятся после подключаемых скриптов
</body>
<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript">
$(function(){
blablabla();
})
</script>
однако ничего подобного я не нашёл ни в erb, ни в haml. (:require_script и :insert_script_bottom - это я для примера придумал)
аналогично для стилей
:require_css{:src="/css/bla.css"}
преобразуется (точнее, я бы хотел чтобы оно преобразовывалось) в
<link rel="stylesheet" href="/css/bla.css" type="text/css" />
Собственно вопрос, как это сделать в третьих рельсах?
Попутно вопрос джанговодам - есть ли нативная реализация этого функционала в джанго?
|
|
|
|
« Последнее редактирование: 20 Февраль, 2011, 01:01:46 от master »
|
Записан
|
|
|
|
|
Абырвалг ↓
|
 |
|
20 Февраль, 2011, 12:42:29 , спустя
|
НЕ ХУЕТА!
ХУЕТА!
|
PHP Infected, симфоеб, маконенавистник
Группа: Джедаи Карма: 80
Сообщений: 6096 Сила слова: 1.31
|
перенести скрипты в низ страницы (после body например)
риальне работает? Спустя 2 минуты 14 секунд добавил что-то типа такого может быть https://github.com/sbecker/asset_packager
|
|
|
|
|
Записан
|
PHP does the job since 1995 Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
|
|
|
|
master ↓
|
 |
|
20 Февраль, 2011, 12:47:31 , спустя 5 минут 2 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Квадратов сколько видишь ты?
Группа: Джедаи Карма: 44
Сообщений: 2080 Сила слова: 2.12
|
риальне работает?
риальне, рекомендация от YSlow Спустя 3 минуты 2 секунды добавил ну кагбэ рельсы третьи все из себя html5, а в дефолтном шаблоне в заголовке пяток скриптов, пустых причём
|
|
|
|
|
Записан
|
|
|
|
|
master ↓
|
 |
|
20 Февраль, 2011, 01:01:02 , спустя 13 минут 31 секунду
|
НЕ ХУЕТА!
ХУЕТА!
|
Квадратов сколько видишь ты?
Группа: Джедаи Карма: 44
Сообщений: 2080 Сила слова: 2.12
|
что-то типа такого может быть https://github.com/sbecker/asset_packager
эта поебень сжимает, а переносит ли скрипты вниз я так и не понял
|
|
|
|
|
Записан
|
|
|
|
|
Абырвалг ↓
|
 |
|
20 Февраль, 2011, 01:06:55 , спустя 5 минут 53 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
PHP Infected, симфоеб, маконенавистник
Группа: Джедаи Карма: 80
Сообщений: 6096 Сила слова: 1.31
|
<%= javascript_include_merged :base %>
ну как я понимаю - вхуяриваешь это вниз страницы и они будут внизу
|
|
|
|
|
Записан
|
PHP does the job since 1995 Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
|
|
|
|
master ↓
|
 |
|
20 Февраль, 2011, 01:24:10 , спустя 17 минут 15 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Квадратов сколько видишь ты?
Группа: Джедаи Карма: 44
Сообщений: 2080 Сила слова: 2.12
|
Абырвалг,
1. нужно удалять дубликаты
2. нужно грамотно обрабатывать вставляемые скрипты, чтоб не получилось такого
<script type="text/javascript">
$(function(){
blablabla();
})
</script>
...
<script type="text/javascript" src="/js/jquery.js"></script>
|
|
|
|
|
Записан
|
|
|
|
|
killich ↓
|
 |
|
23 Февраль, 2011, 08:04:56 , спустя 3 дня 6 часов 40 минут 46 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Санитары Карма: 20
Сообщений: 275 Сила слова: 7.27
|
Вы, ребята вообще что обсуждаете?
Чет ни хрена не понятно. Спустя 1 минуту 22 секунды добавил - content_for :js do
some JS code
= yield :js
Чем не устраивает?
|
|
|
|
|
Записан
|
|
|
|
|
Абырвалг ↓
|
 |
|
23 Февраль, 2011, 08:21:04 , спустя 16 минут 8 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
PHP Infected, симфоеб, маконенавистник
Группа: Джедаи Карма: 80
Сообщений: 6096 Сила слова: 1.31
|
не знаю, учитель, я не программирую на руби
|
|
|
|
|
Записан
|
PHP does the job since 1995 Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
|
|
|
|
master ↓
|
 |
|
23 Февраль, 2011, 08:42:28 , спустя 21 минуту 24 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Квадратов сколько видишь ты?
Группа: Джедаи Карма: 44
Сообщений: 2080 Сила слова: 2.12
|
- content_for :js do
some JS code
= yield :js
Чем не устраивает?
не знаю, надо попробовать
|
|
|
|
|
Записан
|
|
|
|
|
killich ↓
|
 |
|
23 Февраль, 2011, 10:12:16 , спустя 1 час 29 минут 48 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Санитары Карма: 20
Сообщений: 275 Сила слова: 7.27
|
|
|
|
|
|
Записан
|
|
|
|
|
master ↓
|
 |
|
02 Май, 2011, 02:14:53 , спустя 67 дней 3 часа 2 минуты 37 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Квадратов сколько видишь ты?
Группа: Джедаи Карма: 44
Сообщений: 2080 Сила слова: 2.12
|
- content_for :js do
some JS code
= yield :js
Это годится только частично, для инлайновых скриптов.
Нужен способ для подключения скриптов.
Допустим на главной странице у нас нет никаких js-эффектов, соответственно подключать jquery на главной нам не нужно. код главной будет:
В какой-то из внутренних страниц нам требуется подключить jquery и вставить инлайновый js-код:
<html>
<head>... </head>
<body>blabla <body>
<script type="text/javascript" src="/javascripts/jquery.js"></script>
<script type="text/javascript">
$('.someclass').someaction();
</script>
</html>
как во вьюхе отметить что в лэйауте нужно вывести строку
<script type="text/javascript" src="/javascripts/jquery.js"></script>
?
|
|
|
|
|
Записан
|
|
|
|
|
killich ↓
|
 |
|
06 Май, 2011, 03:47:13 , спустя 4 дня 13 часов 32 минуты 20 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Санитары Карма: 20
Сообщений: 275 Сила слова: 7.27
|
Ну так и напиши в макете в нужном месте
= yield :js
А во вьюхе
- content_for :js do
<script src='111111111111111111111.js'></script>
или
- content_for :js do
= javascript_tag '1111111111111111111.js'
|
|
|
|
|
Записан
|
|
|
|
|
master ↓
|
 |
|
16 Май, 2011, 12:28:10 , спустя 9 дней 8 часов 40 минут 57 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Квадратов сколько видишь ты?
Группа: Джедаи Карма: 44
Сообщений: 2080 Сила слова: 2.12
|
killich, попробовал. Оба варианта выводят контент вниз, но ни один не удаляет дубликаты. например, если я сделаю (подряд два раза)
- content_for :js do
= javascript_include_tag 'jquery.js'
- content_for :js do
= javascript_include_tag 'jquery.js'
то и в коде у меня выведется
<script src="/javascripts/jquery.js" type="text/javascript"></script>
<script src="/javascripts/jquery.js" type="text/javascript"></script>
а мне понятное дело два раза не нужно
|
|
|
|
|
Записан
|
|
|
|
|
phpdude ↓
|
 |
|
16 Май, 2011, 09:50:30 , спустя 9 часов 22 минуты 20 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 345
Сообщений: д-о-х-у-я! Сила слова: 1.66
|
ваш руби - какая то магия как по коду так и по логике :D
хуже пхп ейбогу)
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
creeonix ↓
|
 |
|
26 Май, 2011, 12:10:41 , спустя 9 дней 14 часов 20 минут 11 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
|
|