2012-04-30 3 views
0

Я использую Yslow для обзора скорости.yslow/reduction jquery

Проблема я слишком много сценариев связаны между собой, я пытаюсь уменьшить повторение: Проблема заключается в первых 2-х сценариев: Я попытался с помощью только Jquery 1.8, даже со всем его содержимым с сайта Jquery. В 1.7.7 есть что-то, что требуется, и я не могу понять.

Я также заменил 1.7, jquery-1.3.min, и он работает. Yslow дает мне низкий класс в этой области из-за количества HTTP-запросов, в общей сложности у меня на самом деле есть 9 внешних скриптов Javascript и 5 внешних скриптов css. (3 для переключения стиля)

Если я столкнулся со вторым сценарием первым, автозаполнение не работает.

 <script type="text/javascript" src="js/jquery-1.7.2.js"></script> 
     <script type="text/javascript" src="js/jquery-ui-1.8.19.custom.min.js"></script> 

      <script type="text/javascript" src="http://maps.google.com/maps/api/js?key=AIzaSyAOpIKcVcsbojjjFIwnAOSsDwi_lARLp8o&sensor=false"></script> 
      <script type="text/javascript" src="http://gmaps-samples-v3.googlecode.com/svn/trunk/geolocate/geometa.js"></script> 

    <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/> 
    <script src="js/jquery.ui.autocomplete.js"></script> 
    <script type="text/javascript" src="scripts/downloadxml.js"></script> 

Вкратце, я пытаюсь уменьшить количество внешних j/s + css.

ответ

0

Похоже, вы можете объединить эти два

<script src="js/jquery.ui.autocomplete.js"></script> 
<script type="text/javascript" src="js/jquery-ui-1.8.19.custom.min.js"></script> 

Как автозаполнения содержится в пользовательском интерфейсе. Если вы не хотите, чтобы весь пользовательский интерфейс включал автозаполнение в вашей пользовательской сборке.

Также вы можете использовать общедоступные источники для вашего jQuery, Google и компании имеют распределенную сеть серверов, поэтому есть вероятность, что у них меньше очков от вашего пользователя, чем от вас до вашего пользователя.

короче попробовать эту комбинацию:

<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js"></script> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js"></script> 
<script type="text/javascript" src="http://maps.google.com/maps/api/js?key=AIzaSyAOpIKcVcsbojjjFIwnAOSsDwi_lARLp8o&sensor=false"></script> 
<script type="text/javascript" src="http://gmaps-samples-v3.googlecode.com/svn/trunk/geolocate/geometa.js"></script> 
<script type="text/javascript" src="scripts/downloadxml.js"></script> 
0

Во-первых, почему вы бы заменить 1,7 с 1,3? Это просто глупо.

Во-вторых, я бы рекомендовал Minify объединить ваш JS в один комбинированный и мини-файл.

Minify предлагает groupsConfig.php файл с массивом для ваших сценариев, в основном, как это::

'js' => array( 
    '//js/jquery-1.7.2.js', 
    '//js/jquery-ui.js', 
    '//js/libs/geolocate/geometa.js', 
    '//js/libs/downloadxml.js' 
), 

'css' => array(
    // same thing with css files 
) 

Тогда вы бы только один <script src="/min/?g=js"></script> тегов и <link rel="stylesheet" src="/min/?g=css" /> тега.

0

Один из вариантов заключается в том, чтобы иметь весь источник (js & css) под рукой, а затем минимизировать и комбинировать исходные файлы.

Таким образом, у вас может быть 1 главный файл css и 1 главный файл js с дополнительным дополнительным js-файлом для определенных страниц (также объединенный/мини-код).