jQuery: assegnare un ID alla pagina in base all'URL corrente

jQuery: assegnare un ID alla pagina in base all'URL corrente

Assegnare un ID all'elemento body utilizzando l'URL corrente e jQuery è una soluzione che va bene solo nel caso in cui non è possibile adottare una soluzione lato server. In tutti gli altri casi è da evitare. Si tratta insomma di una soluzione di ripiego.

Un URL può avere varie forme:

  • http://host/test.html
  • http://host/test.php?id=1
  • http://host/test/foo
  • http://host/test.html#foo
  • http://host/test-2.html
  • http://host/foo/test_foo.html

e così via. Quindi il codice che andremo a creare si baserà sull'ultimo segmento dell'URL, ossia la pagina corrente:


var url = location.href,
	path = url.replace('http://' + location.host + '/', ''),
	parts = '',
	last = '';
	if(path.indexOf('/') != -1) {
		parts = path.split('/'),
		last = parts[parts.length - 1];
	} else {
		parts = path;
		last = parts;
	}
	last.replace('/', '').replace(/(\.php|\.html|\.asp)/g, '').
	       replace(/\?.+/g, '').replace(/_-\d+/g, '').replace(/#.+/g, '');

$('body').attr('id', last);

Ripeto: si tratta di una soluzione di ripiego da utilizzare come extrema ratio.

Torna su