Rechercher : dans
Par :

[Javascript] Transmission de variable globale

Dernière réponse le 19 fév 2007 à 17:36:01 Chani, le 19 fév 2007 à 12:08:45 
 Signaler ce message aux modérateurs

Bonjour,
Je cherche à faire communiquer une toolbar et une page web, toutes deux en javascript. Le principe est le suivant : lorsque la page web s'affiche, elle place l'URL d'une servlet dans une variable globale directement sous top (top.MA_VARIABLE). Elle envoie ensuite un message, catché par le javascript de ma toolbar, et celle-ci vient lire le contenu de top.MA_VARIABLE afin de récupérer l'URL. Ce mécanisme fonctionne bien sous Mozilla, mais pas sous Firefox : lorsque la toolbar vient lire le contenu de top.MA_VARIABLE, elle n'y trouve rien...
Quelqu'un connait-il ce problème ?
D'avance merci.

Meilleures réponses pour « [Javascript] Transmission de variable globale » dans :
Javascript - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. En Javascript, les noms de variables peuvent être aussi long que l'on désire,...
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...
Javascript: les opérateurs VoirQu'est-ce qu'un opérateur' Les opérateurs sont des symboles qui permettent de manipuler des variables, c'est-à-dire effectuer des opérations, les évaluer, ... On distingue plusieurs types d'opérateurs : Les opérateurs de calcul Les...

1

Chani, le 19 fév 2007 à 16:39:14
  • +3

A force de fouiller le net, j'ai trouvé l'explication : pour des raisons de sécurité, l'accés est bloqué par XPCNativeWrapper. La solution est donc :

window.content.wrappedJSObject.MA_VARIABLE


Cette notion de sécurité existe lorsqu'il y a appel de code depuis une extension (c'est bien le cas de ma toolbar). Plus d'infos ici :

http://developer.mozilla.org/... (explication de la sécurité)

http://xulfr.org/forums/read.php?1,3877 (solution pour l'accès aux variables et méthodes !)

Si ça peut être utile à quelqu'un d'autre...

Répondre à Chani

2

Reivax962, le 19 fév 2007 à 17:21:20

Pour contourner le problème, peut-être peux-tu utiliser des cookies ?

Répondre à Reivax962

3

Chani, le 19 fév 2007 à 17:27:04

Merci pour ta réponse, mais la solution que j'ai indiquée au dessus fonctionne très bien ! Il suffit s'accéder à la variable globale ainsi :

window.content.wrappedJSObject.MA_VARIABLE 

plutôt que
window.content.wrappedJSObject.MA_VARIABLE

Répondre à Chani

4

 Reivax962, le 19 fév 2007 à 17:36:01

Ah ben oui, désolé, j'avais lu très rapidement...

Mea culpa

Répondre à Reivax962