Mostra notizie nelle discussioni
Avatar
Scritto da
Non Autenticato
il 2012-06-14 21:29:27.0 alle 2012-06-14 21:29:27.0
Greasemonkey
Come faccio a fare uno script che converta i link del vecchio dominio .it nei link del nuovo dominio? I link non sono nello stesso formato, quindi non basta cambiare il dominio. Ho provato con questo (prendendo spunto da un altro script che modifica i domini geocities in reocities)...

// ==UserScript==
// @name     FdT-LinkFixer
// @namespace http://forumdeitroll.it/
// @description Fix forumdeitroll.com links 
// @include     *
// ==/UserScript==

(function(d){

    function main() {

	var counter = 0;
	var anchors = d.getElementsByTagName('a');
	var anchors_length = anchors.length;
	for (var i=0; i<anchors_length; i++) {
	    if (anchors[i].hostname == "forumdeitroll.it" || anchors[i].hostname == "www.forumdeitroll.it" ) {
		anchors[i].href = "http://www.forumdeitroll.com" + anchors[i].pathname;
		counter++;
	    } 
	}

	// this fixes hotlinked images, but we're not too happy about those anyway...

	var images = d.getElementsByTagName('img');	
	var images_length = images.length;
	
	for (var i=0; i<images_length; i++) {
		
		if (images[i].src.substring(0,24) == "http://www.forumdeitroll.it") {
			images[i].src = "http://www.forumdeitroll.com" + images[i].src.substring(24);
			counter++;
		}
		
		if (images[i].src.substring(0,20) == "http://forumdeitroll.it" ) {
			images[i].src = "http://www.forumdeitroll.com" + images[i].src.substring(20);
			counter++;
		}
	}

	if (counter === 0) {
	    setTimeout(main, 60000);
	    working = {};
	} else {
	    // setTimeout(main, 10000 / counter);
	} 
    }

    main();
}(document));


... tuttavia non risolvo il problema del diverso formato:
esempio per i messaggi singoli
*.forumdeitroll.it/m.aspx?m_id=#######
deve diventare
*.forumdeitroll.com/Messages?action=getById&msgId=#######

lo stesso discorso vale per i link ai thread completi, che ora non ricordo quale era il vecchio formato...

Pagina generata in 74 millisecondi

Utenti attivi: 12 nell'ultimo minuto, 30 negli ultimi cinque minuti, 53 negli ultimi 15 minuti