begin process at 2012 05 27 06:13:00
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Composants

 > COMPACTER DU JAVASCRIPT

COMPACTER DU JAVASCRIPT


 Information sur la source

Note :
Aucune note
Catégorie :Composants Source .NET ( DotNet ) Classé sous :javascript, compresser, compactor, minify, webcontrol Niveau :Débutant Date de création :17/08/2007 Vu / téléchargé :12 678 / 171

Auteur : jesusonline

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note


 Description

Avec l'avenement "du Web 2.0", on est de plus en plus souvent amené à rajouter du javascript dans notre page, ce qui a pour effet de faire gonfler la taille de la page.

Vous trouverez tout d'abord dans cette source, une classe qui permet de compresser du javascript, j'ai utilisé l'implémentation C# de la classe de Douglas Crockford : http://javascript.crockford.com/jsmin.html. Pour compresser du javascript il vous suffit de faire JavaScriptMinifier.Minify(originalString).

Vous trouverez également un contrôle Script qui permet de rajouter du JavaScript et le compresser directement dans la page. Pour cela il vous faut ajouter l'assembly dans le web.config

<system.web>
<pages>
<controls>
        <add tagPrefix="cs" namespace="CS.Web.UI" assembly="CS.Web.JSCompressor"/>
</controls>
</pages>

et vous pouvez ensuite utiliser le code ci dessous :



Source

  • <asp:ScriptManager runat="server" />
  • <cs:Script ID="Script1" runat="server">
  • // Définition de la méthode pouetpouet
  • var pouetpouet = function(){
  • // cette méthode ne sert à rien
  • var j = 0;
  • for ( var i = 0 ; i < 100 ; i++ ) {
  • j += 1;
  • }
  • }
  • </cs:Script>
  • <div>
  • <asp:button ID="btn1" runat="server" Text="toto" />
  • </div>
  • <cs:Script ID="Script2" runat="server">
  • $addHandler($get('<%=btn1.ClientID%>'), 'click', function(e){
  • /* je ne veux pas que tu clicks sur le bouton */
  • e.preventDefault();
  • });
  • </cs:Script>
  • <%-- générera : -->
  • <script type="text/javascript">
  • //<![CDATA[
  • Sys.Application.initialize();
  • var pouetpouet=function(){var j=0;for(var i=0;i<100;i++){j+=1;}}
  • $addHandler($get('btn1'),'click',function(e){e.preventDefault();});//]]>
  • </script>
    <asp:ScriptManager runat="server" />
    <cs:Script ID="Script1" runat="server">
        // Définition de la méthode pouetpouet 
        var pouetpouet = function(){
            // cette méthode ne sert à rien 
            var j = 0; 
            for ( var i = 0 ; i < 100 ; i++ ) {
                j += 1;
            }
        }
    </cs:Script>
    <div>
        <asp:button ID="btn1" runat="server" Text="toto" />
    </div>
    <cs:Script ID="Script2" runat="server">
        $addHandler($get('<%=btn1.ClientID%>'), 'click', function(e){
            /* je ne veux pas que tu clicks sur le bouton */
            e.preventDefault();
        });
    </cs:Script>


<%-- générera :  -->

<script type="text/javascript">
//<![CDATA[
Sys.Application.initialize();

var pouetpouet=function(){var j=0;for(var i=0;i<100;i++){j+=1;}}
$addHandler($get('btn1'),'click',function(e){e.preventDefault();});//]]>
</script>

 Conclusion

Tous le code JavaScript contenu dans la balise <cs:Script a été compressé et rajouté dans une meme balise <script. La propriété key contrôle permet de rajouté deux fois le meme script dans la page, il sera généré qu'une seule fois s'il a la même clé. Cela peut être utile si vous travailler avec différents UserControl.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source .NET (Dotnet) UTILISATION DE LA MÉTHODE SORT ET SORTDIRECTION AVEC UN GRID...
Source .NET (Dotnet) RESPONSE.FILTER : MANIPULATION DU STREAM DE SORTIE ASP.NET
Source avec Zip Source .NET (Dotnet) OPTIMISATION DE LA SERIALISATION JSON POUR LES LIST<T>
Source avec Zip Source .NET (Dotnet) CRAWLABLELINKBUTTON : UPDATEPANEL ET RÉFÉRENCEMENT
Source .NET (Dotnet) POSTBACKCONTROL - COMMUNICATION CLIENT/SERVEUR AVEC LES UPDA...

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) CUSTOM USER CONTROL COLLECTION par ranouf
Source avec Zip Source avec une capture Source .NET (Dotnet) WEBCONTROL WYSIWYG POUR ASP.NET par Yxion
Source avec Zip Source avec une capture ANTIBOT par ghuysmans99
INCLURE UNE LIBRAIRIE par Warwick
Source .NET (Dotnet) LIRE LA SOURCE D'UNE PAGE par vladam

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) GRIDVIEW WITH TREEVIEW AND CALLBACK par fredzool
Source avec Zip APPELLER UN WEBSERVICE DEPUIS JAVASCRIPT par fredzool
Source avec Zip Source .NET (Dotnet) MONEY TEXTBOX WITH EMBEDED JAVASCRIPT par fredzool
Source avec Zip Source .NET (Dotnet) WEBCONTROL DATEPICKER WEBCONTROLLIBRARY par fredzool
Source avec Zip Source .NET (Dotnet) ASSOCIER DU CODE JAVASCRIPT AUX CONTROLES DERIVÉS par jesusonline

Commentaires et avis

Commentaire de JACKY007 le 20/08/2007 09:04:20

IIS intègre déjà 'la compression du site' lors de l'envoi vers le client, il suffit de l'activer...

Commentaire de jesusonline le 20/08/2007 09:25:05 administrateur CS

non, IIS permet de compresser en gzip, pas de supprimer les espaces inutiles. Bien sur il va de soit qu'il faut aussi activer la compression gzip.

Commentaire de maitredede le 18/03/2008 10:22:07

Bonjour Jesus,

Et pour une version qui le fait à la fois pour les fichiers javascript du site, et pour toutes les zones "script" des pages ?
Exemple : compacter le javascript de ASP.NET, compacter le javascript "perso"...

Commentaire de Archeone le 03/07/2008 14:26:58

ScriptManager à la ligne 61 du fichier Script.cs n'est pas déclarer, ou du moins sous visual studio 2008 avec le framework ScriptManager n'est pas une propriété de PlaceHolder.
Du coup le projet ne compile pas, domage ce control avait l'air vraiment très intéressant.


ScriptManager.RegisterStartupScript(this, typeof(Script), this.Key, script, true);

Commentaire de Archeone le 03/07/2008 14:38:33

Oups je viens de comprendre, la DLL System.Web.Extension n'était pas chargé. C'est pour ça qu'il ne trouvait pas la classe ScriptManager.

Désolé. :)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Comment accèder à un WebControl à l'intérieur d'un content (en javascript)? [ par edge_man ] J'aimerai pouvoir acc&#233;der en javascript &#224; un WebControl (une TextBox) situ&#233; dans un Content. Ce Content est utilis&#233; parce que j'a lire un .gif dans les webressources avec javascript [ par fredzool ] dans mon webcontrol http://www.aspfr.com/codes/WEBCONTROL-DATEPICKER-WEBCONTROLLIBRARY_48850.aspxj ai un calendrier en javascriptje ne Code behind et javascript [ par emalio13 ] Bonjour à toutes et à tous,Etant débutante en ASP.net, je rencontre quelques difficultés.En effet, je développe une application avec visual web develo web service [ par verbeyst ] Bonjour,Je voudrais "générer"/ "écrire " un formulaire qui stocke le username et le passwd et qui appele un web service tout en passant ces valeurs en galerie photo PHP vs JAVASCRIPT [ par kataVB ] boujour tout le mondeje suis entrain ecrire un programme pour realiser une galerie de photo pour un site web. J'ai commencé de programmer en javascrip ASP.NET / XML / Javascript : stocker un javascript dans xml [ par anai ] Bonjour,Voici mon probleme : J'ai une webforms dans lequel en ligne je mets un javascript (style Google Analytics). Je veux stocker ce javscript dans Récupérer le texte modifié par Javascript en ASP [ par sspizer ] Bonjour à tous, J'ai un petit soucis pour récupérer le texte qui à été modifié par du javascript en asp. Voila en gros ce que je fais: Code ASP: <a ACCESS et php, Javascript, ASP.... [ par I_am_Bibou ] Mesdames, Messieurs Bonjours.Ne sachant pas ou poster ce sujet je le poste ici.J'ai développer une base de donnée ACCESS avec tout ce qui va avec (éta Problème Textbox Effacées en Javascript côté Client mais pas côté serveur [ par vinzemuls ] BOnjour,voilà j'ai un bouton qui me permet d'effacer des textboxs en JAVASCRIPT qui s'éxecute correctement. le problème est que lorsque je souhaite en ajouter à en liste les élements choisis en jsp,javascript [ par reseau210 ] salut,en fait je travaille sur eclipse: jsp, servlet, javascript.j'ai un tableau contenant des données et mon problème consiste que j'ai pas su commen


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,014 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales