Ho creato una piccola zona di test per farvi vedere in dettaglio gli errori.
Questo è il codice che ho scritto (è il .js completo, test inclusi):

codice:
/**
 * @author pamput
 */

document.write("document.URL: ");
document.write(document.URL+"
");
document.write("parent.document.URL: ");
document.write(parent.document.URL+"
");

//restituisce 1 se l'host di parent è uguale all'host della pagna. Restituisce zero se non c'è parent o se il parent non coincide
function controlloParent(){
	
	//Variabile da restituire
	var returner = 1;
	//Variabile contenente l'url del sito attuale
	var thisPlace = document.URL;
	//Variabile contenente l'ulr della parent
	var parentPlace = parent.document.URL;
	
	//x equivale a 7 per saltare "http://"
	for(var x = 7; x < parentPlace.length && x < thisPlace.length && parentPlace[x] != "/" && thisPlace[x] != "/"; x++){
		if(parentPlace[x] != thisPlace[x]) returner = 0;
	}
	
	//Se non c'è il parent restituisci comunque zero
	if(parentPlace == thisPlace) returner = 0;
	
	return returner;
}

if(controlloParent() == 0)
document.write("
Gli indirizzi non hanno lo stesso Dominio, oppure sono coincidenti!");
else
document.write("
I domini degli indirizzi sono gli stessi, e gli indirizzi non sono i medesimi");
ecco a voi i link per i test:
Il primo link porta a una pagina sullo stesso dominio della pagina che richiama il .js, pagina che fuzniona correttamente. Il secondo link porta ad una pagina su un altro dominio, che però non funziona correttamente, e si blocca all'inizio dell'esecuzione.

http://www.monkeyseemonkeydo.org/.kp...th-iframe.html
http://pamput.altervista.org/start-outside.html