Scripts

$_GET variabelen in Javascript!

Met dit script kan je $_GET variabelen laden in Javascript. Tevens is het mogelijk om de asynchrone tegenhanger van $_GET te gebruiken, namelijk met #, net zoals bij Hyves (dit is de standaard instelling). Je kan de array met $_GET waardes openen d.m.v. get["waarde"]; Voor de uitleg waarom het script handig is quote ik Jelmer: Het kan op zich handig zijn waneer je een soort cross-compatibility tussen eem AJAX-achtige en een standaard PHP website wilt maken. Op deze manier kan je toch links bookmarken en versturen naar andere gebruikers, en links gebruiken zonder dat de pagina vernieuwt, bijvoorbeeld om 'dynamisch content' op te halen. Uiteraard alleen waneer je # ipv ? gebruikt. In PHP hak je wat rond en zorg je ervoor dat # en ? gelijke waarde hebben, zodat ook die er fancy stuff mee kan doen. Er zijn 2 versies van het script, de gewone en de gecomprimeerde.

dollarget-variabelen-in-javascript
Normale code:
[code]
<?
/*======================CREATOR========================*/
/* Name:                        Nick Mulder a.k.a. YPM */
/* Company:                                 YPM Design */
/* Website:                      http://ypm-design.com */
/*======================LICENSE========================*/
/* Name:              GNU General Public License (GPL) */
/* URL:           http://www.gnu.org/copyleft/gpl.html */
/*=====================================================*/

/*======================ENGLISH========================*/
// get the url of the current page
/*=======================DUTCH=========================*/
// pak de url van deze pagina
/*=====================================================*/
var url = document.location.href;

/*======================ENGLISH========================*/
// the divider for the url
// use "#" for asynchronous use
// use "?" for normal PHP-like use
/*=======================DUTCH=========================*/
// het scheidingsteken voor de url
// gebruik "#" voor asynchroon gebruik
// gebruik "?" voor normaal PHP-like gebruik
/*=====================================================*/
var divider = "#";

/*======================ENGLISH========================*/
// split the url at "#" or "?"
/*=======================DUTCH=========================*/
// splits de url bij "#" of "?"
/*=====================================================*/
var url = url.split( divider );

/*======================ENGLISH========================*/
// check if everything has gone right so far
// if there is no divider found in the url, it'll stop
/*=======================DUTCH=========================*/
// kijk of alles tot nu toe goed is gegaan
// als er geen divider in de url is gevonden, stopt het
/*=====================================================*/
if(url[1]){
	
	/*======================ENGLISH========================*/
	// make the variable "get" a valid array
	/*=======================DUTCH=========================*/
	// maak de variabel "get" een geldige array
	/*=====================================================*/
    var get = new Array();
	
	/*======================ENGLISH========================*/
	// split the second part of the array "url" at "&"
	/*=======================DUTCH=========================*/
	// splits het tweede gedeelte van de array "url" bij "&"
	/*=====================================================*/
    var set = url[1].split("&");
	
	/*======================ENGLISH========================*/
	// loop through the array that we've just created
	/*=======================DUTCH=========================*/
	// loop de zojuist gemaakte array door
	/*=====================================================*/
    for(i = 0; i < set.length; i++){
		
		/*======================ENGLISH========================*/
	    // split the last array values at "="
	    /*=======================DUTCH=========================*/
	    // splits de waardes van de laatste array bij "="
	    /*=====================================================*/
    	var parameter = set[i].split("=");
		
		/*======================ENGLISH========================*/
	    // create the $_GET like array
	    /*=======================DUTCH=========================*/
	    // maak de $_GET like array
	    /*=====================================================*/
    	get[ parameter[0] ] = parameter[1];
    }
}
?>
[/code]
Gecomprimeerde code:
[code]
<?
var a=location.href;var a=a.split("#");if(a[1]){var get=new Array();var c=a[1].split("&");for(i=0;i<c.length;i++){var d=c[i].split("=");get[d[0]]=d[1];}}
?>
[/code]

Reacties

0
Nog geen reacties.