2010-10-16 4 views
1

J'utilise actuellement CKEditor sur mon site Web, mais pas chaque fois que les utilisateurs accèdent à la page CKEditor est nécessaire. Le flux est le suivant: l'utilisateur entre dans la page et y voit tous les articles; Si les utilisateurs veulent éditer l'article, il ou elle ouvre l'éditeur et le fait. CKEditor Cureently est chargé dans le div caché et non utilisé 60% du temps. Existe-t-il un moyen de le charger à la demande lorsque l'utilisateur clique et affiche ce div éditeur?Charger CKeditor et Jquery sur demande

Mon CKEditor utilise connecteur Jquery

Merci

+0

((Une importante) de la solution) http: // randypeterman .com/development/javascript/2012/06/chargement-ckeditor-avec-jquery-promesses –

Répondre

4

Cela dépend de la façon dont vous voulez le faire, mais sans voir votre marge, je vous suggère d'essayer quelque chose comme:

$('a.editThis').click(// assuming that someone clicks a link of class-name 'editThis' to edit the page 
    function(){ 
    $('<script src="/path/to/CKEditor.js"></script>').appendTo('head'); 
    return false; 
    } 
); 

Modifié pour ajouter un lien vers une démo, bien qu'il s'agisse d'une démonstration de l'ajout de CSS. J'imagine que javascript peut être ajouté bien, et je vais essayer cela ensuite. Demo à: my site

+0

Merci pour votre réponse, j'ai fait quelque chose de similaire :) fonctionne comme un charme, merci de fournir des exemples aussi! – Mike

+0

@Mike, toujours un plaisir, et je suis heureux d'être d'aide =) –

+0

oh, mon .. quelle solution simple! CHARMIE !!! – saike

1

Pour d'autres personnes qui n'utilisent pas JQuery, ils doivent être conscients que CKEditor ne comprend son propre chargeur paresseux: http://alfonsoml.blogspot.com/2009/09/delayed-loading-of-ckeditor.html

+0

c'est vrai, et je ne pouvais pas trouver moyen de définir le chemin de base correct pour cela, donc j'ai copié stupidement tout le contenu du dossier ckeditor dans le répertoire courant – Mike

+0

Pouvez-vous vérifier si l'info dans mon post est suffisante pour résoudre ce problème? (bien que vous puissiez continuer à utiliser la méthode que vous préférez par la suite). Si cela échoue, quelle information manque? – AlfonsoML