2010-06-17 6 views
0

J'ai construit un simple plugin CKeditor 3 avec un bouton qui devrait simplement appeler une fonction JS lorsque quelqu'un clique dessus.Comment appeler la fonction javascript dans le document principal depuis iframe (ckeditor plugin)

Le plugin (code lorsque quelqu'un clique) ressemble à ceci et travaille:

var openAssetsBrowser = { 
    exec:function(editor){ 
     openAssetsBrowser(); 
    } 
}; 

Je reçois toujours l'erreur « openAssetsBrowser n'est pas une fonction »

La fonction elle-même est quelque part dans la page , Je pensais que l'ordre ne devrait pas importer puisque toute la page est lue en premier, avant que quelqu'un clique sur le bouton ckeditor qui déclenche la fonction

L'appeler sur un lien quelque part (par exemple avec jquery) dans la page fonctionne simplement:

$("a#linkOpenFileManager").click(function(){ 
    openAssetsBrowser();   
     return(false);  
}); 

Est-ce que quelqu'un sait pourquoi la fonction ne peut être appelée depuis le plugin CKeditor? Mise à jour: lors du collage du code de fonction complet au lieu de "openAssetsBrowser();" dans le plugin, tout fonctionne, mais ce n'est pas vraiment le code réutilisable ...

+0

cela doit avoir quelque chose à voir avec CKeditor fonctionnant dans un iFrame? – Jorre

+0

la solution sera: trouver un moyen d'accéder au document original où réside l'iframe de ckeditor et d'y appeler la fonction. Je ne sais pas comment obtenir le document si ... – Jorre

Répondre

1

maintenant que c'était facile.

parent .openAssetsBrowser() a fait l'affaire!

Questions connexes