• [^] # Re: on peu pas (ben en fait, si)

    Posté par . En réponse au message Javascript appelé avec paramètre(s) dans l'URL. Évalué à 1.

    Merci de ta réponse,

    Pendant ce temps, j'ai fait autre chose, et, en allant voir le site de scriptaculous, j'ai vu une ligne qui était comme ça :

    [script src="scriptaculous.js?load=effects,dragdrop" type="text/javascript"][/script]

    Whoa ! C'est exactement ce que je veux... Je regarde la source de scriptaculous, et là, j'ai compris : il suffit tout simplement d'analiser via DOM les balises SCRIPT, trouver celle qui correspond à l'inclusion du fichier javascript, et analiser l'URL.

    C'est tout bête, mais j'étais resté obstiné sur une possibilité native en Javascript de faire ça.

    Pour les curieux, le passage de Scriptaculous correspondant au support des options passées par URL est le suivant (nécessite Prototype) :

    $A(document.getElementsByTagName("script")).findAll( function(s) {
    return (s.src && s.src.match(/scriptaculous\.js(\?.*)?$/))
    }).each( function(s) {
    var path = s.src.replace(/scriptaculous\.js(\?.*)?$/,'');
    var includes = s.src.match(/\?.*load=([a-z,]*)/);
    (includes ? includes[1] : 'builder,effects,dragdrop,controls,slider,sound').split(',').each(
    function(include) { Scriptaculous.require(path+include+'.js') });
    });

    Et si on veut se passer de Prototype, il y a une solution sur le site Netlobo :
    http://www.netlobo.com/url_query_string_javascript.html
    Dans ce dernier, il faut ajouter la détection de la balise script et récupérer la valeur de l'attribut src à la place de window.location.href

    Voilà, donc du coup, c'est possible et assez simplement (ça m'apprendra à travailler un dimanche tiens !)

    Merci pour l'aide en tout cas.