Permission denied to call method location.toString()

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
cassy
Arias
Messages : 13
Inscription : 20 août 2007, 08:52

Permission denied to call method location.toString()

Message par cassy »

Salut
J'ai une erreur avec Firefox:
Error: uncaught exception: Permission denied to call method Location.toString
Apparemment c'est lié à Flash+iframe

J'ai donc un http://www.site1.com/index.html
dans index.html, j'ai une iframe avec src="http://www.site2.com/index.php"
index.php fait appel à des javascripts sur le même domaine que site2.com

ces javascripts font une transformation xslt qui m'affiche du flash.
dont la source est sur le même domain que l'url de la frame... (http://www.site2.com/monsuperflash.swf)


J'ai aussi essayé la librairie SWFObject.js qui est dit être la meilleur façon pour importer du Flash...
Mais rien y fait j'ai toujours cette erreur.

Si je l'enlève de ma page le code qui importe flash, je n'ai plus ce message d'erreur.

Vous pouvez m'en dire +? Comment résoudre ce problème?

Merci.
Cassy.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1) Gecko/20061024 Swiftfox/2.0.0.3
Avatar de l’utilisateur
jpj
Animal mythique
Messages : 25261
Inscription : 01 août 2005, 15:38

Message par jpj »

Bonsoir,

[Modération] Je déplace dans "Développement web".
► Si votre problème est [Résolu], svp, marquez-le.
► Pas de support par mp, l’aide se fait sur le forum.
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Pas sur d'avoir tout compris...
Error: uncaught exception: Permission denied to call method Location.toString
Je doute que ce soit le message d'erreur complet...

Peut-on voir le problème ? Ou bien c'est un projet top-secret ?
cassy
Arias
Messages : 13
Inscription : 20 août 2007, 08:52

Message par cassy »

si c'est le message d'erreur complet...

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1) Gecko/20061024 Swiftfox/2.0.0.3
Dernière modification par cassy le 01 sept. 2007, 11:59, modifié 2 fois.
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Et le contenu de l'iframe est là : (lien supprimé à la demande de cassy)

Rarement vu ça, c'est du 100% pur javascript. Et il y a au moins assez d'avertissements :?

Pour l'erreur je pensais qu'il serait indiqué dans quel fichier et à quelle ligne elle a lieu... ce n'est pas le cas :?
cassy
Arias
Messages : 13
Inscription : 20 août 2007, 08:52

Message par cassy »

(lien supprimé à la demande de cassy)
effectivement évitez de mettre des url en dur...
Je laisse l'erreur jusqu'à lundi pour que vous m'aider à la résolution du probleme...
après ça je supprimerais aussi mon lien car le flash n'étant pas crucial, il sera supprimé pour firefox vu qu'il pète une erreur.

Voilà c'était pour savoir si cette erreur disait quelque chose à quelqu'un et surtout savoir comment la résoudre...
Rarement vu ça, c'est du 100% pur javascript.
Heureusement que non. :wink:
Pour l'erreur je pensais qu'il serait indiqué dans quel fichier et à quelle ligne elle a lieu... ce n'est pas le cas
lol c'est quand même limite me prendre pour une quiche...bref..

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.6) Gecko/20070801 BonEcho/2.0.0.6
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

cassy a écrit :effectivement évitez de mettre des url en dur...
Tu ferais donc partie de ceux qui souhaitent restreindre le droit de faire des liens ? :-P

cassy a écrit :Voilà c'était pour savoir si cette erreur disait quelque chose à quelqu'un et surtout savoir comment la résoudre...
Disons qu'il faudrait savoir ce qu'est ce "Location"... s'il s'agit de document.location, il faudrait peut-être le mettre en minuscule... :roll:

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.7.3) Gecko/20040924 Epiphany/1.4.4 (Ubuntu)
cassy
Arias
Messages : 13
Inscription : 20 août 2007, 08:52

Message par cassy »

Le pb n'est de toute façon pas dans mon code javascript...
C'est une exception du à la politique de sécurité de firefox quand on met du flash dans une iframe...

Code : Tout sélectionner

<html>
<body>
<iframe src="http://www.youtube.com/watch_fullscreen?video_id=9sJUDx7iEJw&l=121&sk=UnjJpuR0NDHMvSZAZ3CRxQC&t=OEgsToPDskK39NdmaWFRs4KanhATHLTd"></iframe>
</body>
<html>
ça le fait aussi avec la balise object

Code : Tout sélectionner

<object data="http://www.youtube.com/watch_fullscreen?video_id=9sJUDx7iEJw&l=121&sk=UnjJpuR0NDHMvSZAZ3CRxQC&t=OEgsToPDskK39NdmaWFRs4KanhATHLTd" type="text/html"></object>
Error: uncaught exception: Permission denied to call method Location.toString
y'aurait il une astuce?

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en; rv:1.8.1.6) Gecko/20070801 Epiphany/2.18 Firefox/2.0.0.4
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

Comme tu as enlevé le code qui permettait de comprendre ce que tu essayais de le faire, ça va être difficile de t'aider.

À priori, sans rien connaître de ton site, je dirais que ta solution d'utiliser un iframe est une mauvaise idée. Soit tu as le contrôle de site1 et site2 et tu peux t'arranger pour toujours utiliser des pages dans le même domaine, soit tu n'as accès qu'à site1 et tu fais ta transformation de site2 depuis le serveur et tu l'intègres de façon transparente dans ta page sur site1 (si du moins tu as le droit de transformer et rediffuser cette information).
cassy
Arias
Messages : 13
Inscription : 20 août 2007, 08:52

Message par cassy »

Comme tu as enlevé le code qui permettait de comprendre ce que tu essayais de le faire, ça va être difficile de t'aider.
Au dessus de ton post, tu as un exemple explicite du problème.
je dirais que ta solution d'utiliser un iframe est une mauvaise idée.
je ne suis pas fan de l'iframe, je suis consciente qu'il faudrait utiliser object.
Le but est d'integrer le site2 dans site1.
(ça ne peut donc pas être le même domaine.)
Je n'ai pas le controle du site1, je peux juste leur dire de mettre tel tag.
Je n'ai accès qu'au site2.
Je ne pense pas que je puisse envoyer le flash sur leur server.

En attendant, je l'enlève...si quelqu'un a trouvé la solution je remettrais flash pour FF.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.6) Gecko/20061201 Firefox/2.0.0.6 (Ubuntu-feisty)
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

Dans ce cas, YouTube est un exemple vivant que ça fonctionne d'utiliser du Flash avec un objet provenant d'un autre domaine.

Maintenant il faudrait voir dans quel contexte s'exécute le script qui essaie d'obtenir la valeur de "Location". S'il est du mauvais côté il devrait au pire y avoir moyen de l'importer indirectement avec un XMLHttpRequest et un eval().

Bon sinon, les choses que je ne comprends pas : est-ce que tu as pu identifier la ligne qui posait problème ? Tu appelles explicitement la propriété location d'un document ? Si oui, dans quel but ?
cassy
Arias
Messages : 13
Inscription : 20 août 2007, 08:52

Message par cassy »

Dans ce cas, YouTube est un exemple vivant que ça fonctionne d'utiliser du Flash avec un objet provenant d'un autre domaine.
???
T'as pris le code + haut et t'as aucune exception?
ptete un probleme du plugin flash sur linux alors...
[edit] ça me pete une exception sur le firefox de windows aussi...

Comme je l'ai dit ça rien à voir avec javascript.
a aucun moment j'appelle location.toString() ni location.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1) Gecko/20061024 Swiftfox/2.0.0.3
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

Ben en fait je n'ai surtout aucune vidéo qui s'affiche, même quand je vais à l'URL complète à la main. Donc j'ai l'impression qu'il y a un problème avec l'URL (une session expirée ?).

Par contre, les vidéos obtenues en recopiant le code suggéré par YouTube comme celle-ci ça a l'air de fonctionner :

Code : Tout sélectionner

<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/9sJUDx7iEJw"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/9sJUDx7iEJw" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
cassy
Arias
Messages : 13
Inscription : 20 août 2007, 08:52

Message par cassy »

ok merci ça marche en faisant une page html...
moi ça me pete toujours l'erreur dans une transformation xslt...
Surement un probleme de DOCTYPE...je regarde.

[edit] J'ai essayé les doctypes transitionnal ou strict dans une page html ça marche sans péter d'exception....
Ce n'est donc pas un problème de doctype [/edit]

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1) Gecko/20061024 Swiftfox/2.0.0.3
cassy
Arias
Messages : 13
Inscription : 20 août 2007, 08:52

Message par cassy »

en xsl le code s'ecrit comme ça et le flash ne s'affiche pas (aucune exception n'est levée)
<object>
<xsl:attribute name="width">425</xsl:attribute>
<xsl:attribute name="width">350</xsl:attribute>
<param>
<xsl:attribute name="name">movie</xsl:attribute>
<xsl:attribute name="value">http://www.youtube.com/v/9sJUDx7iEJw</xsl:attribute>
</param>
<param>
<xsl:attribute name="name">wmode</xsl:attribute>
<xsl:attribute name="value">transparent</xsl:attribute>
</param>
</object>
En écrivant ainsi ça marche mais ça pete une exception.
<object>
<xsl:attribute name="data">http://www.youtube.com/v/9sJUDx7iEJw</xsl:attribute>
<xsl:attribute name="quality">high</xsl:attribute>
<xsl:attribute name="name">monFlash</xsl:attribute>
<xsl:attribute name="type">application/x-shockwave-flash</xsl:attribute>
<xsl:attribute name="width">565</xsl:attribute>
<xsl:attribute name="height">400</xsl:attribute>
</object>
Une idée?

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1) Gecko/20061024 Swiftfox/2.0.0.3
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 6 invités