Autor | Zpráva | ||
---|---|---|---|
t4nn3r Profil |
Ahoj snažím se udělat javascriptovou aplikaci, bohužel v JS se neorientuju skoro vůbec. Tento script funguje, ale nezjistil jsem jak funguje u jquery selector z proměnné. Navíc bych chtěl poradit s optimalizací, protože toho js je tam hodně a načítám hodně knihoven, což je znát v prodlevách už teď kdy tam ještě není žádný obsah..
Díky předem za jakoukoli radu, pomoc Používám tyti knihovny: <script type="text/javascript" src="<?= SHORT_PATH?>/public/js/jquery-1.4.1.js"></script> <script type="text/javascript" src="<?= SHORT_PATH?>/public/js/jquery-ui-1.7.2.custom.min.js"></script> <script type="text/javascript" src="<?= SHORT_PATH?>/public/js/jquery.metadata.js"></script> <script type="text/javascript" src="<?= SHORT_PATH?>/public/js/mbContainer.js"></script> <script type="text/javascript" src="<?= SHORT_PATH?>/public/js/jquery.dataTables.js"></script> <script type="text/javascript" src="<?= SHORT_PATH?>/public/js/tinymce/tiny_mce.js"></script> <script type="text/javascript" src="<?= SHORT_PATH?>/public/js/jquery.json-2.2.js"></script> (plus ještě přibydou další, ale ty už jsou malé) <script type="text/javascript"> $(document).ready(function(){ $('.top-dock-item ').hover( function() { $(this).addClass('top-dock-item-hover'); }, function() { $(this).removeClass('top-dock-item-hover'); } ); }); function isset () { var a=arguments, l=a.length, i=0; if (l===0) { throw new Error('Empty isset'); } while (i!==l) { if (typeof(a[i])=='undefined' || a[i]===null) { return false; } else { i++; } } return true; } function GetModule (host,target) { $.post(host, function(vystup){ GetJSon(vystup,target); }); } function GetJSon(vystup,target) { var flag = $.evalJSON(vystup).flag; switch(flag){ case 'container': var add = '<div id="'+$.evalJSON(vystup).id+'" class="containerPlus draggable resizable {buttons:\''+$.evalJSON(vystup).buttons+'\', skin:\'default\', width:\'800\',height:\'600\',dock:\''+$.evalJSON(vystup).dock+'\'}" style="top:300px; left:30%" icon=\'browser.png\'>' +'<div class="no"><div class="ne"><div class="n">'+$.evalJSON(vystup).name+'</div></div>' +'<div class="o"><div class="e"><div class="c">' +'<div class="mbcontainercontent" id="mb-status-list-obsah">'+$.evalJSON(vystup).content +'</div></div></div></div><div ><div class="so"><div class="se"><div class="s"> </div></div></div></div></div></div>' $(document.getElementById(target)).html(add) var targetdiv = $.evalJSON(vystup).id; $(document.getElementById(targetdiv)).buildContainers({ containment:"document", elementsPath:"<?= SHORT_PATH?>/public/images/elements/", onResize:function(o){}, onClose:function(o){}, onCollapse:function(o){}, onIconize:function(o){}, onDrag:function(o){}, onLoad:function(o){} }); break; case 'uierror': break; default:; } if(isset($.evalJSON(vystup).tmce)) { tinyMCE.init({ mode : "textareas", theme : "advanced", theme_advanced_toolbar_location : "top", theme_advanced_toolbar_align : "left", editor_selector : $.evalJSON(vystup).tmce }); }; if(isset($.evalJSON(vystup).tabs)) { $(document.getElementById($.evalJSON(vystup).tabs)).dataTable( { "bPaginate": false, "bAutoWidth": false } ); } } function sendAjax(host,postdata,target) { $.post(host, postdata, function(data){ GetJSon(data,target); }); } function handlestatusform(host,target) { if (!$("#name").val() || $("#name").val() == "Název statusu") {$("#name").val('x'); /* htmlspecialchars bug*/} var postdata = $("#statusform").serialize(); sendAjax(host,postdata,target); } |
||
Chamurappi Profil |
#2 · Zasláno: 26. 2. 2010, 18:50:09
Reaguji na t4nn3ra:
„protože toho js je tam hodně a načítám hodně knihoven, což je znát v prodlevách“ To je snadné — vyházej knihovny. Žádná jiná optimalizace v kódu, který uvádíš, tuhle brzdu nevyřeší. „(plus ještě přibydou další, ale ty už jsou malé)“ Není důležitá jen velikost skriptů, každý další soubor = další HTTP požadavek a s ním je spojená určitá režie. Drobného zrychlení bys dosáhl, kdybys všechny ty externí JS spojil do jednoho. |
||
Časová prodleva: 4 dny
|
|||
peta Profil |
#3 · Zasláno: 2. 3. 2010, 10:52:35
Viz, cham. Udelej si php script, ktery ti spoji vybrane soubory do jednoho. Tez ho muzes nechat za scriptu odmazat mezery a radky navic, ale to uz je detail. Nekde u jquery jsem videl i minimalizovanou verzi, kde to melo snad o 2/3 mene.
|
||
Časová prodleva: 16 let
|
0