2010-01-27 6 views
0

Erreur: Autorisation refusée pour sitename d'obtenir la propriété Location.href à partir du nom de site.Erreur Javascript

J'ai un iframe dans une page Web. Cette iframe a Cliquez ici pour enregistrer le lien qui redirige vers la nouvelle page Web de la fenêtre. Je reçois l'erreur ci-dessus quand on clique ici.

Veuillez nous aider dans ce numéro.

<a href="javascript:openEventReg()" is called when click here is selected 

<script> 
function openEventReg() 
{ 
username=document.getElementById('username').value; 
var id = gup('id'); 
var eventname; 
return ("/registration/eventregister.php?event=testing&uname="+username); 
} 
function gup(name) 
{ 
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); 
    var regexS = "[\\?&]"+name+"=([^&#]*)"; 
    var regex = new RegExp(regexS); 
    var results = regex.exec(parent.location.href); 
    if(results == null) 
    return ""; 
    else 
    return results[1]; 
} 
</script> 
+0

1: Quelle ligne renvoie l'erreur? 2: Pourquoi ne pas utiliser un élément de formulaire? (Vous pouvez personnaliser les boutons de soumission pour qu'ils ressemblent à des liens.) – Anonymous

+1

Il semble que la page parente se trouve sur un autre domaine ... http://en.wikipedia.org/wiki/Same_origin_policy – CMS

Répondre

3

Ceci est le comportement prévu dans les navigateurs modernes. Les cadres ne sont pas autorisés à accéder à leurs parents à moins qu'ils résident sur le même domaine. Ceci est fait dans le but d'empêcher les attaques par script intersite.

0

mettez votre fonction de redirection dans votre code html principal. Au clic, appelez parent.funcName().