2011-05-18 7 views
17

Donc, mon problème est relativement simple, j'ai tout googlé pour trouver une solution, mais je n'ai pas encore trouvé un.Google Chrome échappe WYSIWYG Javascript

Le problème est que j'ai développé un plugin WYSIWYG pour le module/framework WYSIWYG de Drupal (je ne sais pas si c'est pertinent). Le but du plugin est de permettre l'intégration de fichiers vidéo dans le contenu WYSIWYG. Notre client propose une API de téléchargement/édition de vidéos que ses clients utilisent pour intégrer des fichiers sur leurs pages. Pour le dire simplement, mon plugin ouvre une fenêtre pop-up où l'utilisateur sélectionne une de ses vidéos extraites de son compte sur le site du client, le plugin appelle ensuite l'API et est retourné avec HTML et JavaScript pour être intégré la vidéo qui est ensuite insérée dans le contenu WYSIWYG.

Cela fonctionne comme un charme dans Firefox, mais j'ai quelques problèmes avec Chrome. Après le débogage j'ai remarqué que le JavaScript embarqué dans l'éditeur WYSIWYG est échappé (IE, les guillemets sont devenus & quot etc).

Cela ne se produit pas avec Firefox, donc c'est probablement Chrome qui le cause, ou peut-être même Webkit? J'ai déjà vérifié le code HTML et JavaScript qui est renvoyé via l'appel Ajax et c'est bien, c'est quand il est intégré dans le WYSIWYG qu'il est échappé.

L'éditeur WYSIWYG dans lequel j'ai testé est en fait TinyMCE.

+1

Peut-on voir cette page quelque part? Ou au moins du code ici? – Brad

+0

Je pense que cela peut vous aider: http://stackoverflow.com/questions/3187333/tinymce-disable-escaping –

+6

J'ai résolu cela en ajoutant le script à une table db à la place, puis en le chargeant en utilisant drupal_add_js avec hook_nodeapi. fonctionne mieux et résout un autre problème lié à IE. – tobbr

Répondre

2

Ajouter comme réponse à @tobbr pour aider d'autres utilisateurs: SO

i résolu ce problème en ajoutant le script à une place table db puis le chargement à l'aide drupal_add_js avec hook_nodeapi. fonctionne mieux et résout un autre problème connexe IE