Gå til innhold

Få linker til å automatisk besøke en tellerside


Anbefalte innlegg

Jeg begynte å tenke på at det kunne ha vært gøy å se hvilke eksterne lenker besøkende bruker på siden min. Et PHP skript for registrering og telling skal jeg nok klare å rote sammen, men største problemet blir kanskje å lenke hyperlenkene til det skriptet.

 

La oss si jeg har 500 eksterne lenker på siden min. Finnes det noen mulighet for at jeg slipper å endre alle de til f.eks.: "?side=count&url=www.eksternlenke.com" ?

 

Eventuelt en kode i toppen av indexfilen eller en .htaccess kommando som sender de via count-filen automatisk? Dette sparer meg også for ekstra jobb når jeg hyperlenker i fremtiden.

Lenke til kommentar
Videoannonse
Annonse

Bør være mulig med output bufring (om du ikke har en egen prosedyre for output), og en preg_replace() på alle lenker.

Regex er ikke min sterke side, så dette er bare en idé til en løsning.

 

<?php
ob_start()

// Masse echo/print, etc

$output = ob_get_contents();

ob_end_clean();

$output = preg_replace( /* Regex her */, 'index.php?side=count&url=\', $output );

echo $output;

Lenke til kommentar

Det er ikke noe problem. Du bare legger inn litt javascript i slutten av dokumentet som sier noe som dette:

 

<script type="text/javascript">
function transformLink(event) {
	var element = (typeof event.target === 'object' ? event.target : event.srcElement);
	if (window.location.hostname !== element.href.split('/')[2]) {
		element.href = '?side=count&url=' + encodeURIComponent(element.href);
	}
}
var elements = document.getElementsByTagName('a');
for (var i = 0, iMax = elements.length; i < iMax; i++) {
	if (elements[i].addEventListener) {
		elements[i].addEventListener('click', transformLink, false);
	} else if (elements[i].attachEvent) {
		elements[i].attachEvent('onclick', transformLink);
	}
}
</script>

 

(Ja, søvnproblemer. :))

Endret av JohndoeMAKT
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...