Nouveauté forumactif: Gestion des codes Javascript

Page 1 sur 3 1, 2, 3  Suivant

Voir le sujet précédent Voir le sujet suivant Aller en bas

  • 0

Important Nouveauté forumactif: Gestion des codes Javascript

Message par The Godfather le Mar 5 Juil 2011 - 11:29



Nouvelle mise à jour ForumActif !
Gestion des codes Javascript

Bonjour,

Dans un souci d’amélioration continue de nos services, et en réponse aux nombreuses sollicitations de nos membres et aux difficultés qu’ils ont a héberger leurs fichiers JavaScript sur un service externe performant, nous vous offrons aujourd'hui une nouvelle mise à jour vous permettant d’héberger vos propres codes JavaScript & jQuery directement sur vos forums. Very Happy



Cette nouveauté a fait son apparition dans votre Panneau d'admin >> Modules >> HTML & JAVASCRIPT >> Gestion des codes Javascript



Grâce à cette nouvelle fonctionnalité, vous pouvez très facilement héberger et gérer les codes javascript que vous souhaitez placer sur les pages de votre forum directement via votre panneau d'administration. dès lors, vos scripts peuvent être appelés automatiquement sur les pages de votre choix et sont directement inséré dans la partie <head>...</head> de la page.



Ces scripts restent bien évidemment accessibles en édition et/ou suppression via la gestion des codes JavaScript de votre panneau d'administration:



Les applications de cette nouveauté sont infinies et peuvent complètement transformer votre forum. Elles n’ont de limite que votre imagination et vos compétences en matière de JavaScript. (Pour plus d’informations sur l’utilisation du JavaScript dans votre forum, lire ce tutoriel )

Pour les membres ayant un forum en version PhpBB2 ou PunBB avec le templates overall_header modifiés

Vous devrez mettre à jour vous-même votre template personnalisé en cherchant le code

Code:
<!-- BEGIN google_analytics_code -->

puis en rajoutant avant lui le code

Code:
{HOSTING_JS}


A très bientôt avec d’autres nouveautés issues de VOS suggestions ! cheers Wink

L'équipe ForumActif



Dernière édition par The Godfather le Mar 12 Juil 2011 - 11:25, édité 1 fois



The Godfather
Adminactif
Adminactif

Masculin
Messages : 13836
Inscrit(e) le : 02/05/2004

http://forum.forumactif.com/
The Godfather a été remercié(e) par l'auteur de ce sujet.

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Invité le Mar 5 Juil 2011 - 15:05

Je trouve cet ajout satisfaisant et moins encombrant qu'avant comme par exemple avec la chat box Smile
Merci .

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par ge80 le Mar 5 Juil 2011 - 15:15

Bonjour

Superbe évolution positive.
Merci cheers cheers cheers cheers

Cordialement,
Ge

ge80
+ Hyperactif +

Masculin
Messages : 16159
Inscrit(e) le : 08/10/2006

http://tsi80.pro-forums.fr/
ge80 a été remercié(e) par l'auteur de ce sujet.
  • 0

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par demeter1 le Mar 5 Juil 2011 - 15:23

Je viens de m'en apercevoir à l'instant en modifiant une page Html. Alors la, je ne peux que dire qu'une seule chose : chapeau.

ps : content de voir une de mes propositions mise en application. ok

demeter1
+ Hyperactif +

Masculin
Messages : 8232
Inscrit(e) le : 23/01/2009

http://altitudetropicale.forums-actifs.com/index.forum
demeter1 a été remercié(e) par l'auteur de ce sujet.

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Pakodar le Mar 5 Juil 2011 - 15:34

Wah, bravo, super!
Plus besoin de s'inscrire sur des sites, autres.. pour les héberger Smile
Cependant, est-ce que ce sera limité? Y aura-t-il un nombre limite de fichiers hébergés?

Pakodar
*****

Masculin
Messages : 669
Inscrit(e) le : 22/12/2010

http://ogamemaio.forumgratuit.org/forum
Pakodar a été remercié(e) par l'auteur de ce sujet.

Important position

Message par foraup le Mar 5 Juil 2011 - 15:51

bonjour,je viens de mettre le message d'alerte pour le MP, mais au lieu qu'il soit en bas a gauche,je voudrai qu'il soit positionner au milieu de l'écran. Je vous remercie d'avance

foraup
*

Masculin
Messages : 49
Inscrit(e) le : 15/02/2011

http://www.aupokertrankil.com
foraup a été remercié(e) par l'auteur de ce sujet.

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Threax le Mar 5 Juil 2011 - 15:53

Bonjour,

Demeter1 Arrow la preuve vivante que les utilisateurs sont à la base des mises à jour... Wink

Foraup Arrow Merci de poster directement dans l'Entraide, partie "problème avec un script, un code" Wink

Threax
+ Hyperactif +

Masculin
Messages : 17277
Inscrit(e) le : 27/08/2005

http://lesforumsde.forumactif.com
Threax a été remercié(e) par l'auteur de ce sujet.

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par The Godfather le Mar 5 Juil 2011 - 16:18

@Pakodar a écrit:Wah, bravo, super!
Plus besoin de s'inscrire sur des sites, autres.. pour les héberger Smile
Cependant, est-ce que ce sera limité? Y aura-t-il un nombre limite de fichiers hébergés?

Il y a largement de quoi faire, une 50aine de JavaScript Wink et cette limite n'est qu'arbitraire et peut être augmentée par forumactif si nous nous apercevons qu'elle n'est pas suffisante pour la majorité de nos utilisateurs ::fleur::



The Godfather
Adminactif
Adminactif

Masculin
Messages : 13836
Inscrit(e) le : 02/05/2004

http://forum.forumactif.com/
The Godfather a été remercié(e) par l'auteur de ce sujet.

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Pakodar le Mar 5 Juil 2011 - 17:23

D'accord, merci beaucoup à toute l'équipe de F.A. pour ces magnifiques mises à jour Very Happy
Et merci à demeter1 d'avoir eu l'idée Smile

Pakodar
*****

Masculin
Messages : 669
Inscrit(e) le : 22/12/2010

http://ogamemaio.forumgratuit.org/forum
Pakodar a été remercié(e) par l'auteur de ce sujet.
  • 0

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par julworld le Mar 5 Juil 2011 - 17:30

Merci beaucoup pour cette nouveauté. Smile

Et puis, je lance un appel à ceux qui sont experts en Javascripts :
N'hésitez pas à faire des sujets pour la partie "Trucs & Astuces", en proposant tout types de javascripts, qui seraient intéréssants auprès des forums, qui ne sont pas forcément experts en javascripts. Very Happy

Merci en tout cas pour cette superbe évolution de Forumactif. Very Happy

julworld
*****

Masculin
Messages : 695
Inscrit(e) le : 03/05/2009

http://prizeefrance.com
julworld a été remercié(e) par l'auteur de ce sujet.

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par devil92140 le Mar 5 Juil 2011 - 17:33

Génial la nouveauté content d’être prévenue sur le PA ^^

devil92140
***

Masculin
Messages : 188
Inscrit(e) le : 06/03/2011

http://dwight-schultz-fan.forumgratuit.org
devil92140 a été remercié(e) par l'auteur de ce sujet.

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par A7medvirus le Mar 5 Juil 2011 - 17:45

Merci à le roi

A7medvirus
**

Messages : 82
Inscrit(e) le : 24/03/2011

http://forum.forumactif.com
A7medvirus a été remercié(e) par l'auteur de ce sujet.

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par The Godfather le Mar 5 Juil 2011 - 17:49

@julworld a écrit:Merci beaucoup pour cette nouveauté. Smile

Et puis, je lance un appel à ceux qui sont experts en Javascripts :
N'hésitez pas à faire des sujets pour la partie "Trucs & Astuces", en proposant tout types de javascripts, qui seraient intéréssants auprès des forums, qui ne sont pas forcément experts en javascripts. Very Happy

Merci en tout cas pour cette superbe évolution de Forumactif. Very Happy

Avec la chaleur de l'été qui arrive, voici un JavaScript qui fera apparaitre des flocons de neige sur les pages du forum de votre choix... c'est noël avant l'heure lol!

Code:
/** @license
 * DHTML Snowstorm! JavaScript-based Snow for web pages
 * --------------------------------------------------------
 * Version 1.41.20101113 (Previous rev: 1.4.20091115)
 * Copyright (c) 2007, Scott Schiller. All rights reserved.
 * Code provided under the BSD License:
 * http://schillmania.com/projects/snowstorm/license.txt
 */

/*global window, document, navigator, clearInterval, setInterval */
/*jslint white: false, onevar: true, plusplus: false, undef: true, nomen: true, eqeqeq: true, bitwise: true, regexp: true, newcap: true, immed: true */

var snowStorm = (function(window, document) {

  // --- common properties ---

  this.flakesMax = 128;          // Limit total amount of snow made (falling + sticking)
  this.flakesMaxActive = 64;      // Limit amount of snow falling at once (less = lower CPU use)
  this.animationInterval = 33;    // Theoretical "miliseconds per frame" measurement. 20 = fast + smooth, but high CPU use. 50 = more conservative, but slower
  this.excludeMobile = true;      // Snow is likely to be bad news for mobile phones' CPUs (and batteries.) By default, be nice.
  this.flakeBottom = null;        // Integer for Y axis snow limit, 0 or null for "full-screen" snow effect
  this.followMouse = true;        // Snow movement can respond to the user's mouse
  this.snowColor = '#fff';        // Don't eat (or use?) yellow snow.
  this.snowCharacter = '•';  // • = bullet, · is square on some systems etc.
  this.snowStick = true;          // Whether or not snow should "stick" at the bottom. When off, will never collect.
  this.targetElement = null;      // element which snow will be appended to (null = document.body) - can be an element ID eg. 'myDiv', or a DOM node reference
  this.useMeltEffect = true;      // When recycling fallen snow (or rarely, when falling), have it "melt" and fade out if browser supports it
  this.useTwinkleEffect = false;  // Allow snow to randomly "flicker" in and out of view while falling
  this.usePositionFixed = false;  // true = snow does not shift vertically when scrolling. May increase CPU load, disabled by default - if enabled, used only where supported

  // --- less-used bits ---

  this.freezeOnBlur = true;      // Only snow when the window is in focus (foreground.) Saves CPU.
  this.flakeLeftOffset = 0;      // Left margin/gutter space on edge of container (eg. browser window.) Bump up these values if seeing horizontal scrollbars.
  this.flakeRightOffset = 0;      // Right margin/gutter space on edge of container
  this.flakeWidth = 8;            // Max pixel width reserved for snow element
  this.flakeHeight = 8;          // Max pixel height reserved for snow element
  this.vMaxX = 5;                // Maximum X velocity range for snow
  this.vMaxY = 4;                // Maximum Y velocity range for snow
  this.zIndex = 0;                // CSS stacking order applied to each snowflake

  // --- End of user section ---

  var s = this, storm = this, i,
  // UA sniffing and backCompat rendering mode checks for fixed position, etc.
  isIE = navigator.userAgent.match(/msie/i),
  isIE6 = navigator.userAgent.match(/msie 6/i),
  isWin98 = navigator.appVersion.match(/windows 98/i),
  isMobile = navigator.userAgent.match(/mobile/i),
  isBackCompatIE = (isIE && document.compatMode === 'BackCompat'),
  noFixed = (isMobile || isBackCompatIE || isIE6),
  screenX = null, screenX2 = null, screenY = null, scrollY = null, vRndX = null, vRndY = null,
  windOffset = 1,
  windMultiplier = 2,
  flakeTypes = 6,
  fixedForEverything = false,
  opacitySupported = (function(){
    try {
      document.createElement('div').style.opacity = '0.5';
    } catch(e) {
      return false;
    }
    return true;
  }()),
  didInit = false,
  docFrag = document.createDocumentFragment();

  this.timers = [];
  this.flakes = [];
  this.disabled = false;
  this.active = false;
  this.meltFrameCount = 20;
  this.meltFrames = [];

  this.events = (function() {

    var old = (window.attachEvent), slice = Array.prototype.slice,
    evt = {
      add: (old?'attachEvent':'addEventListener'),
      remove: (old?'detachEvent':'removeEventListener')
    };

    function getArgs(oArgs) {
      var args = slice.call(oArgs), len = args.length;
      if (old) {
        args[1] = 'on' + args[1]; // prefix
        if (len > 3) {
          args.pop(); // no capture
        }
      } else if (len === 3) {
        args.push(false);
      }
      return args;
    }

    function apply(args, sType) {
      var oFunc = args.shift()[evt[sType]];
      if (old) {
        oFunc(args[0], args[1]);
      } else {
        oFunc.apply(this, args);
      }
    }

    function addEvent() {
      apply(getArgs(arguments), 'add');
    }

    function removeEvent() {
      apply(getArgs(arguments), 'remove');
    }

    return {
      add: addEvent,
      remove: removeEvent
    };

  }());

  function rnd(n,min) {
    if (isNaN(min)) {
      min = 0;
    }
    return (Math.random()*n)+min;
  }

  function plusMinus(n) {
    return (parseInt(rnd(2),10)===1?n*-1:n);
  }

  this.randomizeWind = function() {
    vRndX = plusMinus(rnd(s.vMaxX,0.2));
    vRndY = rnd(s.vMaxY,0.2);
    if (this.flakes) {
      for (var i=0; i<this.flakes.length; i++) {
        if (this.flakes[i].active) {
          this.flakes[i].setVelocities();
        }
      }
    }
  };

  this.scrollHandler = function() {
    // "attach" snowflakes to bottom of window if no absolute bottom value was given
    scrollY = (s.flakeBottom?0:parseInt(window.scrollY||document.documentElement.scrollTop||document.body.scrollTop,10));
    if (isNaN(scrollY)) {
      scrollY = 0; // Netscape 6 scroll fix
    }
    if (!fixedForEverything && !s.flakeBottom && s.flakes) {
      for (var i=s.flakes.length; i--;) {
        if (s.flakes[i].active === 0) {
          s.flakes[i].stick();
        }
      }
    }
  };

  this.resizeHandler = function() {
    if (window.innerWidth || window.innerHeight) {
      screenX = window.innerWidth-(!isIE?16:2)-s.flakeRightOffset;
      screenY = (s.flakeBottom?s.flakeBottom:window.innerHeight);
    } else {
      screenX = (document.documentElement.clientWidth||document.body.clientWidth||document.body.scrollWidth)-(!isIE?8:0)-s.flakeRightOffset;
      screenY = s.flakeBottom?s.flakeBottom:(document.documentElement.clientHeight||document.body.clientHeight||document.body.scrollHeight);
    }
    screenX2 = parseInt(screenX/2,10);
  };

  this.resizeHandlerAlt = function() {
    screenX = s.targetElement.offsetLeft+s.targetElement.offsetWidth-s.flakeRightOffset;
    screenY = s.flakeBottom?s.flakeBottom:s.targetElement.offsetTop+s.targetElement.offsetHeight;
    screenX2 = parseInt(screenX/2,10);
  };

  this.freeze = function() {
    // pause animation
    if (!s.disabled) {
      s.disabled = 1;
    } else {
      return false;
    }
    for (var i=s.timers.length; i--;) {
      clearInterval(s.timers[i]);
    }
  };

  this.resume = function() {
    if (s.disabled) {
      s.disabled = 0;
    } else {
      return false;
    }
    s.timerInit();
  };

  this.toggleSnow = function() {
    if (!s.flakes.length) {
      // first run
      s.start();
    } else {
      s.active = !s.active;
      if (s.active) {
        s.show();
        s.resume();
      } else {
        s.stop();
        s.freeze();
      }
    }
  };

  this.stop = function() {
    this.freeze();
    for (var i=this.flakes.length; i--;) {
      this.flakes[i].o.style.display = 'none';
    }
    s.events.remove(window,'scroll',s.scrollHandler);
    s.events.remove(window,'resize',s.resizeHandler);
    if (s.freezeOnBlur) {
      if (isIE) {
        s.events.remove(document,'focusout',s.freeze);
        s.events.remove(document,'focusin',s.resume);
      } else {
        s.events.remove(window,'blur',s.freeze);
        s.events.remove(window,'focus',s.resume);
      }
    }
  };

  this.show = function() {
    for (var i=this.flakes.length; i--;) {
      this.flakes[i].o.style.display = 'block';
    }
  };

  this.SnowFlake = function(parent,type,x,y) {
    var s = this, storm = parent;
    this.type = type;
    this.x = x||parseInt(rnd(screenX-20),10);
    this.y = (!isNaN(y)?y:-rnd(screenY)-12);
    this.vX = null;
    this.vY = null;
    this.vAmpTypes = [1,1.2,1.4,1.6,1.8]; // "amplification" for vX/vY (based on flake size/type)
    this.vAmp = this.vAmpTypes[this.type];
    this.melting = false;
    this.meltFrameCount = storm.meltFrameCount;
    this.meltFrames = storm.meltFrames;
    this.meltFrame = 0;
    this.twinkleFrame = 0;
    this.active = 1;
    this.fontSize = (10+(this.type/5)*10);
    this.o = document.createElement('div');
    this.o.innerHTML = storm.snowCharacter;
    this.o.style.color = storm.snowColor;
    this.o.style.position = (fixedForEverything?'fixed':'absolute');
    this.o.style.width = storm.flakeWidth+'px';
    this.o.style.height = storm.flakeHeight+'px';
    this.o.style.fontFamily = 'arial,verdana';
    this.o.style.overflow = 'hidden';
    this.o.style.fontWeight = 'normal';
    this.o.style.zIndex = storm.zIndex;
    docFrag.appendChild(this.o);

    this.refresh = function() {
      if (isNaN(s.x) || isNaN(s.y)) {
        // safety check
        return false;
      }
      s.o.style.left = s.x+'px';
      s.o.style.top = s.y+'px';
    };

    this.stick = function() {
      if (noFixed || (storm.targetElement !== document.documentElement && storm.targetElement !== document.body)) {
        s.o.style.top = (screenY+scrollY-storm.flakeHeight)+'px';
      } else if (storm.flakeBottom) {
        s.o.style.top = storm.flakeBottom+'px';
      } else {
        s.o.style.display = 'none';
        s.o.style.top = 'auto';
        s.o.style.bottom = '0px';
        s.o.style.position = 'fixed';
        s.o.style.display = 'block';
      }
    };

    this.vCheck = function() {
      if (s.vX>=0 && s.vX<0.2) {
        s.vX = 0.2;
      } else if (s.vX<0 && s.vX>-0.2) {
        s.vX = -0.2;
      }
      if (s.vY>=0 && s.vY<0.2) {
        s.vY = 0.2;
      }
    };

    this.move = function() {
      var vX = s.vX*windOffset, yDiff;
      s.x += vX;
      s.y += (s.vY*s.vAmp);
      if (s.x >= screenX || screenX-s.x < storm.flakeWidth) { // X-axis scroll check
        s.x = 0;
      } else if (vX < 0 && s.x-storm.flakeLeftOffset < 0-storm.flakeWidth) {
        s.x = screenX-storm.flakeWidth-1; // flakeWidth;
      }
      s.refresh();
      yDiff = screenY+scrollY-s.y;
      if (yDiff<storm.flakeHeight) {
        s.active = 0;
        if (storm.snowStick) {
          s.stick();
        } else {
          s.recycle();
        }
      } else {
        if (storm.useMeltEffect && s.active && s.type < 3 && !s.melting && Math.random()>0.998) {
          // ~1/1000 chance of melting mid-air, with each frame
          s.melting = true;
          s.melt();
          // only incrementally melt one frame
          // s.melting = false;
        }
        if (storm.useTwinkleEffect) {
          if (!s.twinkleFrame) {
            if (Math.random()>0.9) {
              s.twinkleFrame = parseInt(Math.random()*20,10);
            }
          } else {
            s.twinkleFrame--;
            s.o.style.visibility = (s.twinkleFrame && s.twinkleFrame%2===0?'hidden':'visible');
          }
        }
      }
    };

    this.animate = function() {
      // main animation loop
      // move, check status, die etc.
      s.move();
    };

    this.setVelocities = function() {
      s.vX = vRndX+rnd(storm.vMaxX*0.12,0.1);
      s.vY = vRndY+rnd(storm.vMaxY*0.12,0.1);
    };

    this.setOpacity = function(o,opacity) {
      if (!opacitySupported) {
        return false;
      }
      o.style.opacity = opacity;
    };

    this.melt = function() {
      if (!storm.useMeltEffect || !s.melting) {
        s.recycle();
      } else {
        if (s.meltFrame < s.meltFrameCount) {
          s.meltFrame++;
          s.setOpacity(s.o,s.meltFrames[s.meltFrame]);
          s.o.style.fontSize = s.fontSize-(s.fontSize*(s.meltFrame/s.meltFrameCount))+'px';
          s.o.style.lineHeight = storm.flakeHeight+2+(storm.flakeHeight*0.75*(s.meltFrame/s.meltFrameCount))+'px';
        } else {
          s.recycle();
        }
      }
    };

    this.recycle = function() {
      s.o.style.display = 'none';
      s.o.style.position = (fixedForEverything?'fixed':'absolute');
      s.o.style.bottom = 'auto';
      s.setVelocities();
      s.vCheck();
      s.meltFrame = 0;
      s.melting = false;
      s.setOpacity(s.o,1);
      s.o.style.padding = '0px';
      s.o.style.margin = '0px';
      s.o.style.fontSize = s.fontSize+'px';
      s.o.style.lineHeight = (storm.flakeHeight+2)+'px';
      s.o.style.textAlign = 'center';
      s.o.style.verticalAlign = 'baseline';
      s.x = parseInt(rnd(screenX-storm.flakeWidth-20),10);
      s.y = parseInt(rnd(screenY)*-1,10)-storm.flakeHeight;
      s.refresh();
      s.o.style.display = 'block';
      s.active = 1;
    };

    this.recycle(); // set up x/y coords etc.
    this.refresh();

  };

  this.snow = function() {
    var active = 0, used = 0, waiting = 0, flake = null, i;
    for (i=s.flakes.length; i--;) {
      if (s.flakes[i].active === 1) {
        s.flakes[i].move();
        active++;
      } else if (s.flakes[i].active === 0) {
        used++;
      } else {
        waiting++;
      }
      if (s.flakes[i].melting) {
        s.flakes[i].melt();
      }
    }
    if (active<s.flakesMaxActive) {
      flake = s.flakes[parseInt(rnd(s.flakes.length),10)];
      if (flake.active === 0) {
        flake.melting = true;
      }
    }
  };

  this.mouseMove = function(e) {
    if (!s.followMouse) {
      return true;
    }
    var x = parseInt(e.clientX,10);
    if (x<screenX2) {
      windOffset = -windMultiplier+(x/screenX2*windMultiplier);
    } else {
      x -= screenX2;
      windOffset = (x/screenX2)*windMultiplier;
    }
  };

  this.createSnow = function(limit,allowInactive) {
    for (var i=0; i<limit; i++) {
      s.flakes[s.flakes.length] = new s.SnowFlake(s,parseInt(rnd(flakeTypes),10));
      if (allowInactive || i>s.flakesMaxActive) {
        s.flakes[s.flakes.length-1].active = -1;
      }
    }
    storm.targetElement.appendChild(docFrag);
  };

  this.timerInit = function() {
    s.timers = (!isWin98?[setInterval(s.snow,s.animationInterval)]:[setInterval(s.snow,s.animationInterval*3),setInterval(s.snow,s.animationInterval)]);
  };

  this.init = function() {
    for (var i=0; i<s.meltFrameCount; i++) {
      s.meltFrames.push(1-(i/s.meltFrameCount));
    }
    s.randomizeWind();
    s.createSnow(s.flakesMax); // create initial batch
    s.events.add(window,'resize',s.resizeHandler);
    s.events.add(window,'scroll',s.scrollHandler);
    if (s.freezeOnBlur) {
      if (isIE) {
        s.events.add(document,'focusout',s.freeze);
        s.events.add(document,'focusin',s.resume);
      } else {
        s.events.add(window,'blur',s.freeze);
        s.events.add(window,'focus',s.resume);
      }
    }
    s.resizeHandler();
    s.scrollHandler();
    if (s.followMouse) {
      s.events.add(isIE?document:window,'mousemove',s.mouseMove);
    }
    s.animationInterval = Math.max(20,s.animationInterval);
    s.timerInit();
  };

  this.start = function(bFromOnLoad) {
    if (!didInit) {
      didInit = true;
    } else if (bFromOnLoad) {
      // already loaded and running
      return true;
    }
    if (typeof s.targetElement === 'string') {
      var targetID = s.targetElement;
      s.targetElement = document.getElementById(targetID);
      if (!s.targetElement) {
        throw new Error('Snowstorm: Unable to get targetElement "'+targetID+'"');
      }
    }
    if (!s.targetElement) {
      s.targetElement = (!isIE?(document.documentElement?document.documentElement:document.body):document.body);
    }
    if (s.targetElement !== document.documentElement && s.targetElement !== document.body) {
      s.resizeHandler = s.resizeHandlerAlt; // re-map handler to get element instead of screen dimensions
    }
    s.resizeHandler(); // get bounding box elements
    s.usePositionFixed = (s.usePositionFixed && !noFixed); // whether or not position:fixed is supported
    fixedForEverything = s.usePositionFixed;
    if (screenX && screenY && !s.disabled) {
      s.init();
      s.active = true;
    }
  };

  function doStart() {
    if ((this.excludeMobile && !isMobile) || !this.excludeMobile) {
      window.setTimeout(function() {
        s.start(true);
      }, 20);
    }
    // event cleanup
    s.events.remove(window, 'load', doStart);
  }

  // hooks for starting the snow
  s.events.add(window, 'load', doStart, false);

  return this;

}(window, document));




The Godfather
Adminactif
Adminactif

Masculin
Messages : 13836
Inscrit(e) le : 02/05/2004

http://forum.forumactif.com/
The Godfather a été remercié(e) par l'auteur de ce sujet.

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Humph le Mar 5 Juil 2011 - 17:59

Pourrions nous avoir d'autre exemple de javascript ?

Comme par exemple (si possible) un code javascript pour envoyé une unique alerte à toute les personnes connectées
- Humph

Humph
Nouveau membre

Masculin
Messages : 23
Inscrit(e) le : 30/06/2011

Http://hobbacity.jtkc.org
Humph a été remercié(e) par l'auteur de ce sujet.

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par encredemoncoeur le Mar 5 Juil 2011 - 18:16

Visiblement c'est une bonne nouvelle, sourire
Je suis débutante et je ne sais absolument pas ce que c'est...
je vais fouiller Wink
Belle fin de journée
Magali

encredemoncoeur
**

Féminin
Messages : 85
Inscrit(e) le : 18/06/2011

http://passiondeplumes.forumgratuit.org/
encredemoncoeur a été remercié(e) par l'auteur de ce sujet.

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Guest le Mar 5 Juil 2011 - 18:21

Merci beaucoup pour cette mise à jour super! Tout semble fonctionner comme il se doit. Very Happy

Cependant, ce serait cool si on pouvait aussi choisir si ce script a été ajoutée dans l'<head>, du <body> ou pied de page, plutôt que juste dans la <head> par défaut. Certains scripts exigent le <body> pour être chargés en premier pour être exécutés, et ils ne fonctionneront pas s'ils sont ajoutés dans la <head>.

Néanmoins, ce mise à jour est impressionnante. Bravo à l'équipe! Sourire2

Guest
Invité


Guest a été remercié(e) par l'auteur de ce sujet.

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Ea le Mar 5 Juil 2011 - 18:29

Bonjour,


Ce n'est pas juste, normalement mettre un script dans le body est une erreur ( tolérée par les navigateurs ).

Qui plus est, mettre un script dans <head> ( ce qui est la façon dont ça devrait toujours être fait ) l'exécutera justement en premier donc non en le mettant dans body ça ne s'exécutera pas avant.

Pour exécuter du code dans un script dans <head> une fois la structure de la page chargée, il suffit de l'entourer comme suit :

Code:
$(function(){
 // le code à exécuter
});
Pour exécuter du code dans un script dans <head> une fois la page totalement chargée, il suffit de l'entourer comme suit :

Code:
$(window).load(function () {
  // le code à exécuter
});
Enfin pour moi le fonctionnement actuel est correct, et il n'y a pas lieu d'y avoir un système qui exécuterait le script à tel ou tel endroit de la page.

@Humph a écrit:Pourrions nous avoir d'autre exemple de javascript ?

Comme par exemple (si possible) un code javascript pour envoyé une unique alerte à toute les personnes connectées
- Humph
Il y a quelques astuces reposant sur des scripts ( http://forum.forumactif.com/f8-trucs-et-astuces ) pour votre demande il y a la section "Problème avec un script (un code)" Wink


Sinon au sujet de la mise à jour c'est extra =D

Cordialement.

Ea
Aidactif
Aidactif

Messages : 23447
Inscrit(e) le : 04/04/2008

Ea a été remercié(e) par l'auteur de ce sujet.

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par HELLPELL le Mar 5 Juil 2011 - 19:13

Merci pour cette nouvelle fonction et les 2 scripts

HELLPELL
Nouveau membre

Masculin
Messages : 22
Inscrit(e) le : 15/09/2008

http://www.hellpellteam.org
HELLPELL a été remercié(e) par l'auteur de ce sujet.

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Invité le Mar 5 Juil 2011 - 20:48

Merci beaucoup encore une fois forumactif est en avance sur ces concurant et innove !!

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Alluna le Mer 6 Juil 2011 - 4:28

Merci pour cette nouveauté, j'avais vraiment du mal à intégrer du javascript au forum, maintenant ça va être facilité, c'est super ! Smile



Alluna
Nouveau membre

Féminin
Messages : 17
Inscrit(e) le : 22/06/2011

http://reves-absurdes.1fr1.net/
Alluna a été remercié(e) par l'auteur de ce sujet.

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Tyren le Mer 6 Juil 2011 - 9:16

C'est une très belle initiative, j'ai tenté de réaliser le « sélecteur de couleur » avec cette méthode, mais je n'obtiens aucun résultat, ce qui est plutôt embêtant. M'enfin.

Tyren
Nouveau membre

Messages : 28
Inscrit(e) le : 07/08/2010

http://word.fr1.co/
Tyren a été remercié(e) par l'auteur de ce sujet.

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par diaph16 le Mer 6 Juil 2011 - 14:50

C'est énoooooooorme ! Merci. cheers

diaph16
***

Masculin
Messages : 169
Inscrit(e) le : 13/12/2007

http://www.photographyleforum.com/
diaph16 a été remercié(e) par l'auteur de ce sujet.

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Chinelle le Mer 6 Juil 2011 - 15:23

Franchement c'est une super initiative de votre part, merci beaucoup !

Chinelle
**

Féminin
Messages : 64
Inscrit(e) le : 08/12/2009

http://kingdom-hearts2.kanak.fr/
Chinelle a été remercié(e) par l'auteur de ce sujet.
  • 0

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par The Godfather le Mer 6 Juil 2011 - 15:32

Un grand merci pour cet élan d’encouragement. Cela nous fait chaud au cœur et nous pousse à donner le meilleur de nous même pour vous Very Happy



The Godfather
Adminactif
Adminactif

Masculin
Messages : 13836
Inscrit(e) le : 02/05/2004

http://forum.forumactif.com/
The Godfather a été remercié(e) par l'auteur de ce sujet.

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par A7medvirus le Mer 6 Juil 2011 - 15:41

Attendre pour chaque nouvelle ِ

A7medvirus
**

Messages : 82
Inscrit(e) le : 24/03/2011

http://forum.forumactif.com
A7medvirus a été remercié(e) par l'auteur de ce sujet.

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par julworld le Mer 6 Juil 2011 - 17:00

@The Godfather a écrit:
@julworld a écrit:Merci beaucoup pour cette nouveauté. Smile

Et puis, je lance un appel à ceux qui sont experts en Javascripts :
N'hésitez pas à faire des sujets pour la partie "Trucs & Astuces", en proposant tout types de javascripts, qui seraient intéréssants auprès des forums, qui ne sont pas forcément experts en javascripts. Very Happy

Merci en tout cas pour cette superbe évolution de Forumactif. Very Happy

Avec la chaleur de l'été qui arrive, voici un JavaScript qui fera apparaitre des flocons de neige sur les pages du forum de votre choix... c'est noël avant l'heure lol!

Code:
/** @license
 * DHTML Snowstorm! JavaScript-based Snow for web pages
 * --------------------------------------------------------
 * Version 1.41.20101113 (Previous rev: 1.4.20091115)
 * Copyright (c) 2007, Scott Schiller. All rights reserved.
 * Code provided under the BSD License:
 * http://schillmania.com/projects/snowstorm/license.txt
 */

/*global window, document, navigator, clearInterval, setInterval */
/*jslint white: false, onevar: true, plusplus: false, undef: true, nomen: true, eqeqeq: true, bitwise: true, regexp: true, newcap: true, immed: true */

var snowStorm = (function(window, document) {

  // --- common properties ---

  this.flakesMax = 128;          // Limit total amount of snow made (falling + sticking)
  this.flakesMaxActive = 64;      // Limit amount of snow falling at once (less = lower CPU use)
  this.animationInterval = 33;    // Theoretical "miliseconds per frame" measurement. 20 = fast + smooth, but high CPU use. 50 = more conservative, but slower
  this.excludeMobile = true;      // Snow is likely to be bad news for mobile phones' CPUs (and batteries.) By default, be nice.
  this.flakeBottom = null;        // Integer for Y axis snow limit, 0 or null for "full-screen" snow effect
  this.followMouse = true;        // Snow movement can respond to the user's mouse
  this.snowColor = '#fff';        // Don't eat (or use?) yellow snow.
  this.snowCharacter = '•';  // • = bullet, · is square on some systems etc.
  this.snowStick = true;          // Whether or not snow should "stick" at the bottom. When off, will never collect.
  this.targetElement = null;      // element which snow will be appended to (null = document.body) - can be an element ID eg. 'myDiv', or a DOM node reference
  this.useMeltEffect = true;      // When recycling fallen snow (or rarely, when falling), have it "melt" and fade out if browser supports it
  this.useTwinkleEffect = false;  // Allow snow to randomly "flicker" in and out of view while falling
  this.usePositionFixed = false;  // true = snow does not shift vertically when scrolling. May increase CPU load, disabled by default - if enabled, used only where supported

  // --- less-used bits ---

  this.freezeOnBlur = true;      // Only snow when the window is in focus (foreground.) Saves CPU.
  this.flakeLeftOffset = 0;      // Left margin/gutter space on edge of container (eg. browser window.) Bump up these values if seeing horizontal scrollbars.
  this.flakeRightOffset = 0;      // Right margin/gutter space on edge of container
  this.flakeWidth = 8;            // Max pixel width reserved for snow element
  this.flakeHeight = 8;          // Max pixel height reserved for snow element
  this.vMaxX = 5;                // Maximum X velocity range for snow
  this.vMaxY = 4;                // Maximum Y velocity range for snow
  this.zIndex = 0;                // CSS stacking order applied to each snowflake

  // --- End of user section ---

  var s = this, storm = this, i,
  // UA sniffing and backCompat rendering mode checks for fixed position, etc.
  isIE = navigator.userAgent.match(/msie/i),
  isIE6 = navigator.userAgent.match(/msie 6/i),
  isWin98 = navigator.appVersion.match(/windows 98/i),
  isMobile = navigator.userAgent.match(/mobile/i),
  isBackCompatIE = (isIE && document.compatMode === 'BackCompat'),
  noFixed = (isMobile || isBackCompatIE || isIE6),
  screenX = null, screenX2 = null, screenY = null, scrollY = null, vRndX = null, vRndY = null,
  windOffset = 1,
  windMultiplier = 2,
  flakeTypes = 6,
  fixedForEverything = false,
  opacitySupported = (function(){
    try {
      document.createElement('div').style.opacity = '0.5';
    } catch(e) {
      return false;
    }
    return true;
  }()),
  didInit = false,
  docFrag = document.createDocumentFragment();

  this.timers = [];
  this.flakes = [];
  this.disabled = false;
  this.active = false;
  this.meltFrameCount = 20;
  this.meltFrames = [];

  this.events = (function() {

    var old = (window.attachEvent), slice = Array.prototype.slice,
    evt = {
      add: (old?'attachEvent':'addEventListener'),
      remove: (old?'detachEvent':'removeEventListener')
    };

    function getArgs(oArgs) {
      var args = slice.call(oArgs), len = args.length;
      if (old) {
        args[1] = 'on' + args[1]; // prefix
        if (len > 3) {
          args.pop(); // no capture
        }
      } else if (len === 3) {
        args.push(false);
      }
      return args;
    }

    function apply(args, sType) {
      var oFunc = args.shift()[evt[sType]];
      if (old) {
        oFunc(args[0], args[1]);
      } else {
        oFunc.apply(this, args);
      }
    }

    function addEvent() {
      apply(getArgs(arguments), 'add');
    }

    function removeEvent() {
      apply(getArgs(arguments), 'remove');
    }

    return {
      add: addEvent,
      remove: removeEvent
    };

  }());

  function rnd(n,min) {
    if (isNaN(min)) {
      min = 0;
    }
    return (Math.random()*n)+min;
  }

  function plusMinus(n) {
    return (parseInt(rnd(2),10)===1?n*-1:n);
  }

  this.randomizeWind = function() {
    vRndX = plusMinus(rnd(s.vMaxX,0.2));
    vRndY = rnd(s.vMaxY,0.2);
    if (this.flakes) {
      for (var i=0; i<this.flakes.length; i++) {
        if (this.flakes[i].active) {
          this.flakes[i].setVelocities();
        }
      }
    }
  };

  this.scrollHandler = function() {
    // "attach" snowflakes to bottom of window if no absolute bottom value was given
    scrollY = (s.flakeBottom?0:parseInt(window.scrollY||document.documentElement.scrollTop||document.body.scrollTop,10));
    if (isNaN(scrollY)) {
      scrollY = 0; // Netscape 6 scroll fix
    }
    if (!fixedForEverything && !s.flakeBottom && s.flakes) {
      for (var i=s.flakes.length; i--;) {
        if (s.flakes[i].active === 0) {
          s.flakes[i].stick();
        }
      }
    }
  };

  this.resizeHandler = function() {
    if (window.innerWidth || window.innerHeight) {
      screenX = window.innerWidth-(!isIE?16:2)-s.flakeRightOffset;
      screenY = (s.flakeBottom?s.flakeBottom:window.innerHeight);
    } else {
      screenX = (document.documentElement.clientWidth||document.body.clientWidth||document.body.scrollWidth)-(!isIE?8:0)-s.flakeRightOffset;
      screenY = s.flakeBottom?s.flakeBottom:(document.documentElement.clientHeight||document.body.clientHeight||document.body.scrollHeight);
    }
    screenX2 = parseInt(screenX/2,10);
  };

  this.resizeHandlerAlt = function() {
    screenX = s.targetElement.offsetLeft+s.targetElement.offsetWidth-s.flakeRightOffset;
    screenY = s.flakeBottom?s.flakeBottom:s.targetElement.offsetTop+s.targetElement.offsetHeight;
    screenX2 = parseInt(screenX/2,10);
  };

  this.freeze = function() {
    // pause animation
    if (!s.disabled) {
      s.disabled = 1;
    } else {
      return false;
    }
    for (var i=s.timers.length; i--;) {
      clearInterval(s.timers[i]);
    }
  };

  this.resume = function() {
    if (s.disabled) {
      s.disabled = 0;
    } else {
      return false;
    }
    s.timerInit();
  };

  this.toggleSnow = function() {
    if (!s.flakes.length) {
      // first run
      s.start();
    } else {
      s.active = !s.active;
      if (s.active) {
        s.show();
        s.resume();
      } else {
        s.stop();
        s.freeze();
      }
    }
  };

  this.stop = function() {
    this.freeze();
    for (var i=this.flakes.length; i--;) {
      this.flakes[i].o.style.display = 'none';
    }
    s.events.remove(window,'scroll',s.scrollHandler);
    s.events.remove(window,'resize',s.resizeHandler);
    if (s.freezeOnBlur) {
      if (isIE) {
        s.events.remove(document,'focusout',s.freeze);
        s.events.remove(document,'focusin',s.resume);
      } else {
        s.events.remove(window,'blur',s.freeze);
        s.events.remove(window,'focus',s.resume);
      }
    }
  };

  this.show = function() {
    for (var i=this.flakes.length; i--;) {
      this.flakes[i].o.style.display = 'block';
    }
  };

  this.SnowFlake = function(parent,type,x,y) {
    var s = this, storm = parent;
    this.type = type;
    this.x = x||parseInt(rnd(screenX-20),10);
    this.y = (!isNaN(y)?y:-rnd(screenY)-12);
    this.vX = null;
    this.vY = null;
    this.vAmpTypes = [1,1.2,1.4,1.6,1.8]; // "amplification" for vX/vY (based on flake size/type)
    this.vAmp = this.vAmpTypes[this.type];
    this.melting = false;
    this.meltFrameCount = storm.meltFrameCount;
    this.meltFrames = storm.meltFrames;
    this.meltFrame = 0;
    this.twinkleFrame = 0;
    this.active = 1;
    this.fontSize = (10+(this.type/5)*10);
    this.o = document.createElement('div');
    this.o.innerHTML = storm.snowCharacter;
    this.o.style.color = storm.snowColor;
    this.o.style.position = (fixedForEverything?'fixed':'absolute');
    this.o.style.width = storm.flakeWidth+'px';
    this.o.style.height = storm.flakeHeight+'px';
    this.o.style.fontFamily = 'arial,verdana';
    this.o.style.overflow = 'hidden';
    this.o.style.fontWeight = 'normal';
    this.o.style.zIndex = storm.zIndex;
    docFrag.appendChild(this.o);

    this.refresh = function() {
      if (isNaN(s.x) || isNaN(s.y)) {
        // safety check
        return false;
      }
      s.o.style.left = s.x+'px';
      s.o.style.top = s.y+'px';
    };

    this.stick = function() {
      if (noFixed || (storm.targetElement !== document.documentElement && storm.targetElement !== document.body)) {
        s.o.style.top = (screenY+scrollY-storm.flakeHeight)+'px';
      } else if (storm.flakeBottom) {
        s.o.style.top = storm.flakeBottom+'px';
      } else {
        s.o.style.display = 'none';
        s.o.style.top = 'auto';
        s.o.style.bottom = '0px';
        s.o.style.position = 'fixed';
        s.o.style.display = 'block';
      }
    };

    this.vCheck = function() {
      if (s.vX>=0 && s.vX<0.2) {
        s.vX = 0.2;
      } else if (s.vX<0 && s.vX>-0.2) {
        s.vX = -0.2;
      }
      if (s.vY>=0 && s.vY<0.2) {
        s.vY = 0.2;
      }
    };

    this.move = function() {
      var vX = s.vX*windOffset, yDiff;
      s.x += vX;
      s.y += (s.vY*s.vAmp);
      if (s.x >= screenX || screenX-s.x < storm.flakeWidth) { // X-axis scroll check
        s.x = 0;
      } else if (vX < 0 && s.x-storm.flakeLeftOffset < 0-storm.flakeWidth) {
        s.x = screenX-storm.flakeWidth-1; // flakeWidth;
      }
      s.refresh();
      yDiff = screenY+scrollY-s.y;
      if (yDiff<storm.flakeHeight) {
        s.active = 0;
        if (storm.snowStick) {
          s.stick();
        } else {
          s.recycle();
        }
      } else {
        if (storm.useMeltEffect && s.active && s.type < 3 && !s.melting && Math.random()>0.998) {
          // ~1/1000 chance of melting mid-air, with each frame
          s.melting = true;
          s.melt();
          // only incrementally melt one frame
          // s.melting = false;
        }
        if (storm.useTwinkleEffect) {
          if (!s.twinkleFrame) {
            if (Math.random()>0.9) {
              s.twinkleFrame = parseInt(Math.random()*20,10);
            }
          } else {
            s.twinkleFrame--;
            s.o.style.visibility = (s.twinkleFrame && s.twinkleFrame%2===0?'hidden':'visible');
          }
        }
      }
    };

    this.animate = function() {
      // main animation loop
      // move, check status, die etc.
      s.move();
    };

    this.setVelocities = function() {
      s.vX = vRndX+rnd(storm.vMaxX*0.12,0.1);
      s.vY = vRndY+rnd(storm.vMaxY*0.12,0.1);
    };

    this.setOpacity = function(o,opacity) {
      if (!opacitySupported) {
        return false;
      }
      o.style.opacity = opacity;
    };

    this.melt = function() {
      if (!storm.useMeltEffect || !s.melting) {
        s.recycle();
      } else {
        if (s.meltFrame < s.meltFrameCount) {
          s.meltFrame++;
          s.setOpacity(s.o,s.meltFrames[s.meltFrame]);
          s.o.style.fontSize = s.fontSize-(s.fontSize*(s.meltFrame/s.meltFrameCount))+'px';
          s.o.style.lineHeight = storm.flakeHeight+2+(storm.flakeHeight*0.75*(s.meltFrame/s.meltFrameCount))+'px';
        } else {
          s.recycle();
        }
      }
    };

    this.recycle = function() {
      s.o.style.display = 'none';
      s.o.style.position = (fixedForEverything?'fixed':'absolute');
      s.o.style.bottom = 'auto';
      s.setVelocities();
      s.vCheck();
      s.meltFrame = 0;
      s.melting = false;
      s.setOpacity(s.o,1);
      s.o.style.padding = '0px';
      s.o.style.margin = '0px';
      s.o.style.fontSize = s.fontSize+'px';
      s.o.style.lineHeight = (storm.flakeHeight+2)+'px';
      s.o.style.textAlign = 'center';
      s.o.style.verticalAlign = 'baseline';
      s.x = parseInt(rnd(screenX-storm.flakeWidth-20),10);
      s.y = parseInt(rnd(screenY)*-1,10)-storm.flakeHeight;
      s.refresh();
      s.o.style.display = 'block';
      s.active = 1;
    };

    this.recycle(); // set up x/y coords etc.
    this.refresh();

  };

  this.snow = function() {
    var active = 0, used = 0, waiting = 0, flake = null, i;
    for (i=s.flakes.length; i--;) {
      if (s.flakes[i].active === 1) {
        s.flakes[i].move();
        active++;
      } else if (s.flakes[i].active === 0) {
        used++;
      } else {
        waiting++;
      }
      if (s.flakes[i].melting) {
        s.flakes[i].melt();
      }
    }
    if (active<s.flakesMaxActive) {
      flake = s.flakes[parseInt(rnd(s.flakes.length),10)];
      if (flake.active === 0) {
        flake.melting = true;
      }
    }
  };

  this.mouseMove = function(e) {
    if (!s.followMouse) {
      return true;
    }
    var x = parseInt(e.clientX,10);
    if (x<screenX2) {
      windOffset = -windMultiplier+(x/screenX2*windMultiplier);
    } else {
      x -= screenX2;
      windOffset = (x/screenX2)*windMultiplier;
    }
  };

  this.createSnow = function(limit,allowInactive) {
    for (var i=0; i<limit; i++) {
      s.flakes[s.flakes.length] = new s.SnowFlake(s,parseInt(rnd(flakeTypes),10));
      if (allowInactive || i>s.flakesMaxActive) {
        s.flakes[s.flakes.length-1].active = -1;
      }
    }
    storm.targetElement.appendChild(docFrag);
  };

  this.timerInit = function() {
    s.timers = (!isWin98?[setInterval(s.snow,s.animationInterval)]:[setInterval(s.snow,s.animationInterval*3),setInterval(s.snow,s.animationInterval)]);
  };

  this.init = function() {
    for (var i=0; i<s.meltFrameCount; i++) {
      s.meltFrames.push(1-(i/s.meltFrameCount));
    }
    s.randomizeWind();
    s.createSnow(s.flakesMax); // create initial batch
    s.events.add(window,'resize',s.resizeHandler);
    s.events.add(window,'scroll',s.scrollHandler);
    if (s.freezeOnBlur) {
      if (isIE) {
        s.events.add(document,'focusout',s.freeze);
        s.events.add(document,'focusin',s.resume);
      } else {
        s.events.add(window,'blur',s.freeze);
        s.events.add(window,'focus',s.resume);
      }
    }
    s.resizeHandler();
    s.scrollHandler();
    if (s.followMouse) {
      s.events.add(isIE?document:window,'mousemove',s.mouseMove);
    }
    s.animationInterval = Math.max(20,s.animationInterval);
    s.timerInit();
  };

  this.start = function(bFromOnLoad) {
    if (!didInit) {
      didInit = true;
    } else if (bFromOnLoad) {
      // already loaded and running
      return true;
    }
    if (typeof s.targetElement === 'string') {
      var targetID = s.targetElement;
      s.targetElement = document.getElementById(targetID);
      if (!s.targetElement) {
        throw new Error('Snowstorm: Unable to get targetElement "'+targetID+'"');
      }
    }
    if (!s.targetElement) {
      s.targetElement = (!isIE?(document.documentElement?document.documentElement:document.body):document.body);
    }
    if (s.targetElement !== document.documentElement && s.targetElement !== document.body) {
      s.resizeHandler = s.resizeHandlerAlt; // re-map handler to get element instead of screen dimensions
    }
    s.resizeHandler(); // get bounding box elements
    s.usePositionFixed = (s.usePositionFixed && !noFixed); // whether or not position:fixed is supported
    fixedForEverything = s.usePositionFixed;
    if (screenX && screenY && !s.disabled) {
      s.init();
      s.active = true;
    }
  };

  function doStart() {
    if ((this.excludeMobile && !isMobile) || !this.excludeMobile) {
      window.setTimeout(function() {
        s.start(true);
      }, 20);
    }
    // event cleanup
    s.events.remove(window, 'load', doStart);
  }

  // hooks for starting the snow
  s.events.add(window, 'load', doStart, false);

  return this;

}(window, document));


Laughing Laughing

Merci. Ainsi, j'aurais pas besoin de m'en occuper pendant la période de noël ! Laughing Je préfère être en avance... Razz

julworld
*****

Masculin
Messages : 695
Inscrit(e) le : 03/05/2009

http://prizeefrance.com
julworld a été remercié(e) par l'auteur de ce sujet.

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par # Eve le Mer 6 Juil 2011 - 20:42

Merci beaucoup pour cette superbe idée.
Continuez comme ça, hein Wink ...
C'est vraiment une bonne initiative !

Amicalement,

Eve.

# Eve
**

Féminin
Messages : 54
Inscrit(e) le : 02/10/2010

# Eve a été remercié(e) par l'auteur de ce sujet.

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Jean Nicolas le Jeu 7 Juil 2011 - 8:01

Bravo à vous.
J'ai mis en place très facilement les deux premiers codes.

Super content.
Très bien expliqué et aucun problème !

Jean Nicolas
****

Masculin
Messages : 221
Inscrit(e) le : 28/03/2010

http://biere.bbfr.net/
Jean Nicolas a été remercié(e) par l'auteur de ce sujet.

Important petit problème avec ce Java Script

Message par remixeservice le Jeu 7 Juil 2011 - 12:43

Bonjour à tous!
J'ai un petit souci avec ce Java Script
Etana a écrit:
Voici un deuxième script à mettre ""Sur toutes les pages"" ça devrait afficher une image en cas de reception de nouveau message, le script vérifie également si il n'y a pas un nouveau mp ou si l'mp n'a pas été lu toute les 60 secondes :
Code:
var sec_inter= 60;

function cook_no_new_message() { my_setcookie("new_message",-new Date(),1,0); no_new_message(); }

function no_new_message() {  $('#new_message').remove(); }

function cook_new_message() {  my_setcookie("new_message",+new Date(),1,0); new_message(); }

function new_message() { $("body").append('<div id="new_message" style="position:fixed;bottom:0;left:0"><a href="/privmsg?folder=inbox" onClick="cook_no_new_message();return true;"><img src="http://i44.servimg.com/u/f44/16/64/11/35/alarm11.gif" /></a></div>'); }

function new_message_update() {
  var dnew_message= my_getcookie("new_message");
  var enew_message= dnew_message>0; 
 
  if(($('#new_message').length>0)==enew_message)
  {
      if(!enew_message) dnew_message*=-1;
      if(dnew_message<+new Date()-1000*sec_inter)
        $.get('http://'+document.location.host+'/privmsg?mode=newpm',function(data){
            if(!data.match("No new private messages are waiting for you")!=enew_message)
            {
              if(enew_message) cook_no_new_message();
              else cook_new_message();
            }
        });
  }
  else
  {
      if(enew_message) new_message();
      else no_new_message();
  }
}

$(function(){
  if(!$("#logout").length) return;
  if($('#i_icon_mini_new_message').length) cook_new_message();
  else cook_no_new_message();
  setInterval("new_message_update()",5000);
});

Dans => Utilisateurs & Groupes => Options des utilisateurs
Ma confi est comme ceci : Temps en minutes après lequel le membre est considéré « Hors ligne » : 5mn
Avec ce Java Script, mes membres sont toujours connecté même après!
Merci d'avance de m'envoyer une correction!


Dernière édition par Etana le Ven 8 Juil 2011 - 1:07, édité 2 fois (Raison : Sujet déplacé => http://forum.forumactif.com/t308686-petit-probleme-avec-ce-java-script#2697143)

remixeservice
**

Masculin
Messages : 60
Inscrit(e) le : 23/03/2011

http://www.freecoverservice.net/
remixeservice a été remercié(e) par l'auteur de ce sujet.

Important Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Ea le Jeu 7 Juil 2011 - 12:54

Bonjour,


La section Problème avec un script (un code) est là pour cela.

Cordialement.

Ea
Aidactif
Aidactif

Messages : 23447
Inscrit(e) le : 04/04/2008

Ea a été remercié(e) par l'auteur de ce sujet.

Page 1 sur 3 1, 2, 3  Suivant

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum