J'ai quelques problèmes avec Adobe Air. Mon application a une architecture plutôt compliquée: la fenêtre html principale charge iframe avec des références à javascripts (par exemple DWRengine.js, jquery.js, main.js et ainsi de suite). C'est fait pour éviter les restrictions javascript d'Air sur la fonction 'eval', qui est largement utilisée dans mes scripts et dans DWR aussi.Accéder à la fenêtre supérieure d'Iframe dans Adobe Air
Dans le fichier main.js, j'essaie d'ajouter des écouteurs d'événement aux boutons et aux liens de la fenêtre principale.
Comme ceci:
$(document).ready(function(){
$('body', top.document).click(function(){alert('a');});
});
Mais il n'y a pas d'effet! top.document
est indéfini.
Je ne peux pas lier des actions à des événements lors du chargement de la page principale, car les objets qui les contiennent ne sont chargés qu'après l'événement onload
de la page principale.
Aidez-moi, s'il vous plaît!
Merci d'avance, Mike.
Merci, ça a aidé, mais n'a pas résolu tout le problème. Maintenant, je peux appeler des fonctions de mes bibliothèques, mais la plupart de leurs actions utilisent jquery pour montrer et cacher des éléments. Dans la mesure où jquery est chargé et appelé depuis iframe, il utilise le document iframe, pas le document de la fenêtre principale comme prévu. – Mikhail
Je ne pense pas que vous serez en mesure de référencer des éléments dans un bac à sable de l'autre. Pourquoi ne pas laisser l'iframe contenir toute l'interface utilisateur et seulement utiliser l'application pour faire des trucs comme les requêtes interdomaines et l'accès au système de fichiers – meouw
Aussi, qu'évaluez-vous? si c'est juste JSON d'une réponse ajax, l'air le permet. – meouw