[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Нет ли способа облегчить jquery ?
Страницы: 1, 2
Владимир55
Использование jquery заметно тормозит открытие страницы, а функции у него очень просты - всего лишь подтянуть контент.

На странице такой код:
<script src="/js/jquery-1.7.1.min.js"></script> 
<script
src="/js/karta_index.js"></script>

<div
id="karta_left"></div>



Содержимой скрипта karta_index.js:
// JavaScript Document 
$(document).ready(function() {
$('#karta_left').load('/pattern_left.php');
$('#karta_right').load('/pattern_right.php');
});



То есть, просто выводится содержимое файла pattern_left.php (но сделать это в данном случае надо именно через аякс).

Можно ли как-то уменьшить вес jquery, удалив из него лишнее ? Или чем-то легким его заменить?
AllesKlar
Что за вопросы такие? ohmy.gif
Нативный javaScrip же.
Неужели таки "вот и выросло поколение, которое ...."

https://www.sitepoint.com/jquery-vs-raw-jav...-3-events-ajax/

_____________
[продано копирайтерам]
sergeiss
Прежде, чем "облегчать" jQuery, ответь на вопрос: сколько у тебя на странице картинок и какого они размера? Я готов поспорить, что если у тебя есть картинки, то их общий вес будет больше, чем у jQuery. Так что оптимизацию, возможно, надо начать с картинок, если уж совсем руки чешутся что-то поменять К тому же, jQuery кэшируется браузером и не грузится каждый раз (впрочем, как и картинки).
Но зато каждый раз грузятся эти два файла ПХП. На их загрузку наверняка и уходит основное время.
Короче говоря, прежде чем "рубить серпом" smile.gif немного подумай. Скорее всего окажется, что проблема в другом месте, а не объеме jQuery.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Владимир55
Цитата (sergeiss @ 16.10.2016 - 15:13)
Я готов поспорить, что если у тебя есть картинки, то их общий вес будет больше, чем у jQuery. Так что оптимизацию, возможно, надо начать с картинок, если уж совсем руки чешутся что-то поменять

Картинки есть, это Вы верно подметили. Но с ними уже разобрались - Гугл их сам оптимизировал.

Гугл делает замечание, что скрипты занимают много времени. jQuery их них самый тяжелый.

Цитата (AllesKlar @ 16.10.2016 - 15:09)
https://www.sitepoint.com/jquery-vs-raw-jav...-3-events-ajax/

Не будет большим преувеличением сказать, что я в тексте по этой ссылке ничего не понял...
depp
сам по себе jquery очень очень шустрый и оптимизированный. не факт, что на js вы напишите такой же функционал и он у вас будет работать быстрее, судя по вашему вопросу. у вас 99.9% того, что скорость загрузки съедает на jquery.
Игорь_Vasinsky
Цитата
// JavaScript Document
$(document).ready(function() {
$('#karta_left').load('/pattern_left.php');
$('#karta_right').load('/pattern_right.php');
});


а чёб на php не подтянуть эти файлы то?
Цитата

(но сделать это в данном случае надо именно через аякс).


ахахахах. ну если прям.

ониж без всякого условия влетают, сразу после загрузки страницы)))

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Владимир55
Игорь, они и подключались через РНР, но их специально вынесли в Аякс по требованию оптимизатора.
vagrand
Я недавно столкнулся с тем, что jquery выполняет dom операции в (IE очень не оптимально и очень долго. В каком браузере у вас проблемы? Если в IE тогда надо юзать натив для встраивания результата AJAX запроса в dom документ

_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Владимир55
Цитата (depp @ 16.10.2016 - 16:43)
сам по себе jquery очень очень шустрый и оптимизированный.

Это так, но весит 90 Кб!


Цитата (depp @ 16.10.2016 - 16:43)
не факт, что на js вы напишите такой же функционал и он у вас будет работать быстрее, судя по вашему вопросу.

Вроде бы, как я слышал, Аякс можно стандартно обработать, убрав не нужный функционал. Для моей задачи может остаться 5-10 Кб.
AllesKlar
Цитата (Владимир55 @ 16.10.2016 - 17:28)
Не будет большим преувеличением сказать, что я в тексте по этой ссылке ничего не понял...

мдя... бяда.... Как вообще в программирование занесло без базовых знаний английского???

Цитата (Владимир55 @ 16.10.2016 - 18:55)
Вроде бы, как я слышал, Аякс можно стандартно обработать, убрав не нужный функционал. Для моей задачи может остаться 5-10 Кб.

Я тебе больше скажу. Там останется несколько десятков байт.

Ajax
var r = new XMLHttpRequest(); 
r.open("POST", url, true);
r.onreadystatechange = function () {
if (r.readyState != 4 || r.status != 200) return;
console.log(r.responseText);
};
r.send("a=1&b=2&c=3");


Evens
document.getElementById("clickme").addEventListener("click", function(e) {
console.log("you clicked " + e.target);
e.preventDefault();
});


_____________
[продано копирайтерам]
Владимир55
То есть, вместо
<script src="/js/jquery-1.7.1.min.js"></script>

в теле страницы пишем Ваш код:
<script type="text/javascript">
var
r = new XMLHttpRequest();
r.open("POST", url, true);
r.onreadystatechange = function () {
if (r.readyState != 4 || r.status != 200) return;
console.log(r.responseText);
};
r.send("a=1&b=2&c=3");

document.getElementById("clickme").addEventListener("click", function(e) {
console.log("you clicked " + e.target);
e.preventDefault();
});
</script>


И далее как было:
<script src="/js/karta_index.js"></script> 

<div
id="karta_left"></div>


Это, конечно же, не работает, и я сам понимаю, что сделал что-то не так.


А как надо?

=========
Содержимое скрипта karta_index.js:
// JavaScript Document 
$(document).ready(function() {
$('#karta_left').load('/pattern_left.php');
});
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.