Uncauhgt exception: Permission refusée d'appe

Fermé
satyre - 7 nov. 2007 à 12:18
 KalNex - 31 août 2010 à 16:55
Bonjour à tous !

Je suis en plein developpement d'un annuaire de liens concernant la Gymnastique.
Je boloque sur un formulaire que j'essaye de réaliser en utilisant AJAX. Mon problème, c'est que le code javascript de vérification des champs ainsi que ma requete ajax ne fontionne que sous firefox depuis que j'ai ajouté ma dernière fonction dans mon include Javascript.
Depuis le début du developpement, j'ai la meme erreur qui apparait toutes les 30 secondes dans la console d'erreur de firefox:

Uncauhgt exception: Permission refusée d'appeler la méthode Location.toString

J'ai essayé de fouilller un peu sur le net pour voir d'où cela pouvait provenir et certains disent que l'erreur vient du fait d'appeller un fichier javascript externe avec une URL relative, j'ai donc changer mes URL pour en faire des absolues, mais ca ne résoud rien.

La page sur laquelle je développe est accessible ici : http://rglinks.ath.cx/link2.php
Le fichier javascript appellé est celui ci:
http://rglinks.ath.cx/Ajax/scripts/js/AjaxInsertLink.js

Je précise que mes requetes AJAX ainsi que mes fonctions JS marchaient niquel sous IE avant l'ajout de la dernière fonction checkFullForm() du fichier javascript. Donc quand je commente cette fonction, tout marche sans erreurs.

J'espére que vous pourrez m'aider , je bloque sérieusement !

6 réponses

Bonjour,

J'ai quasiment le même soucis, ou plutot la même erreur qui empêche mes scripts de fonctionner correctement.

As tu résolu ce problème ? Si oui j'aimerais bien savoir comment pour pouvoir a mon tour le résoudre ! :)

KalNex
0
j'ai eu le même soucis depuis que j'ajoute le code suivant :

self.resizeTo(screen.availWidth, screen.availHeight);
self.moveTo(0,0);

A savoir que c'est directement dans ma page et pas en externe .... IE quant à lui se contente de m'envoyer péter purement et simplement de manière assez aléatoire (faut dire que ce bout de code est appelé en boucle pour empêcher le redimensionnement par l'utilisateur)

Si quelqu'un trouve le sens de cette erreur merci d'avance ^^
0
J'ai une excellente nouvelle : après quelques instants de lutte acharnée, j'ai finalement trouvé une solution !!!!

En fait la méthode Location.toString est appelée implicitement par tout un tas d'autre méthodes. Assez aléatoirement, il faut le dire, on se retrouve dans le cas où cet appel plante (sans doute parce que le location est blanc car la page en cours de chargement). Cette belle exception est aussi générée sous Internet Explorer (sous le libellé d'erreur très explicite : "Accès refusé")

La solution consiste à mettre le bout de code qui plante aléatoirement dans un bloc try.
Pour mon cas :

try{
  self.resizeTo(screen.availWidth, screen.availHeight);
  self.moveTo(0,0); 
} catch(ex) {}


Je ne fais rien dans le catch car pour mon cas, le but était juste d'outrepasser l'erreur dans la mesure ou ce code est dans une pseudo boucle gérée par timer

Bonne recherche pour trouver la partie du code qui te fait planter ton script : j'éspère avoir été utile :)
0
Je ne suis pas exactement dans le même cas, puisque j'appel une librairie javascript dans une fenêtre parent afin d'y enregistrer des variables (car c'est une sorte de bureau virtuel on peut alors se permettre de stocker des variables a l'intérieur).

C'est cet appel qui me provoque un "Uncauhgt exception".

Par contre je dois bien avoué que j'ai laissé tombé la recherche sur ce sujet lol.
J'ai un peu abandonné... car je ne vois pas de solution...

D'ailleurs toi l'erreur est généré car tu utilise en boucle une fonction, qui parfois génère une exception que tu isole par ton try-catch, mais si j'utilise ceci et que je zappe une utilisation je risque de tout faire planter... je pense ^^"

En tout cas merci d'avoir posté ta solution, quand je retournerais sur ce développement je testerais. :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
j'ai eu le même problème lors de la création d'une nouvelle fenêtre du browser. Ca venait du fait que j'avais mis une URL dans le champ qui sert de titre à la page...

alors, plus d'URL et plus de problème ;)

ex:

window.open('http:www.google.com','test','width=200,height=200toolbar=yes,menubar=yes,scrollbars=yes,resizable=yes');

au lieu de

window.open('http:www.google.com','http:www.google.com','width=200,height=200toolbar=yes,menubar=yes,scrollbars=yes,resizable=yes');

FF 3.6.8
0
C'est pas vraiment le même soucis.
Même si tu l'as bien résolu.

Toi ça venait effectivement de ton titre, ou name de popup, ça ne doit pas contenir de caractères trop spéciaux ou d'espace. Il faut te dire que c'est comme un nom de variable qui pointe vers ta fenêtre (d'ailleurs je crois que s'en est une!).
0