in reply to Perl & JavaScript

Greetings akm2,

I just figured something else out which I think is a better solution than my previous ideas. In each page, add a JavaScript function to run at the completed page load that will tack on the "?hasjs=1" thing to each link's URL.

<HTML><HEAD><TITLE>Something Even More Interesting</TITLE> <SCRIPT language="JavaScript"><!-- function markForJS() { for (var x = 0; x < document.links.length; x++) { document.links[x].href = document.links[x].href + '?hasjs=1'; } } // --></SCRIPT> </HEAD><BODY bgcolor="#ffffff" onLoad="markForJS()"> <A href="script-1.cgi">Link 0</A><BR> <A href="script-2.cgi">Link 1</A><BR> <A href="script-3.cgi">Link 2</A><BR> <A href="script-4.cgi">Link 3</A><BR> <A href="script-5.cgi">Link 4</A> </BODY></HTML>

Now all you have to do is read param('hasjs') in your CGIs. Perhaps this, combined with some other ideas will get you a complete solution that will solve your problem. Good luck!

-Gryphon.

Replies are listed 'Best First'.
(crazyinsomniac) Re: Re: Perl & JavaScript
by crazyinsomniac (Prior) on Mar 09, 2001 at 10:30 UTC
    Don't forget the hard working JavaScript programmer, you don't wanna mess up his stuff ;-)
    <HTML><HEAD><TITLE>All Hail The JavaScript Perl Programmer</TITLE> <SCRIPT language="JavaScript"> <!--// function markForJS() { for (var x = 0; x < document.links.length; x++) { d_href = document.links[x].href; // if there are no javascript links // add the cgi stuff, otherwise pee into the wind if((d_href.indexOf("javascript:")+0)==-1) { document.links[x].href = document.links[x].href + '?hasjs= +1'; } } } // --> </SCRIPT> </HEAD><BODY bgcolor="#ffffff" onLoad="markForJS()"> <A href="script-1.cgi">Link 0</A><BR> <A href="script-2.cgi">Link 1</A><BR> <A href="script-5.cgi">Link 4</A><BR> <A href="javascript:alert('chorg!');">Link javascript</A> <A href="javascript:alert('zort!');">Link javascript2</A> </BODY></HTML>

     
    ___crazyinsomniac_______________________________________
    Disclaimer: Don't blame. It came from inside the void

    perl -e "$q=$_;map({chr unpack qq;H*;,$_}split(q;;,q*H*));print;$q/$q;"

Re: Re: Perl & JavaScript
by dvergin (Monsignor) on Mar 09, 2001 at 03:40 UTC
    Great idea, gryphon.

    To make this more robust, we would want to check each link for a value in  document.links[x].search (i.e. the query string). Then we would know whether to glue the hasjs=1 bit on with a question mark or an ampersand.

    Documentation on search.