Le plugin hak_tinymce de textpattern ne fonctionne pas dans IE
-
22-08-2019 - |
Question
J'ai mis en place le plugin hak_tinymce de Textpattern sur un site web que je lance, et il fonctionne très bien dans Firefox, Chrome, Safari et Opera. Cependant, dans IE la zone de contenu est gris (par exemple, il est tout simplement pas là), et le Javascript échoue avec cette erreur:
Webpage error details
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0;
SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729;
Media Center PC 6.0)
Timestamp: Mon, 9 Feb 2009 11:35:09 UTC
Message: Invalid argument.
Line: 510
Char: 2
Code: 0
URI: http://www.example.com/textpattern/tinymce/tiny_mce.js
Firebug donne aucune erreur.
Je suis en utilisant une version non brouillées de tiny_mce.js, révision 1,158:
// Must have a src element in MSIE HTTPs breaks aswell as absoute URLs
if (tinyMCE.isMSIE)
iframe.setAttribute("src", this.settings['default_document']);
iframe.style.width = tinyMCE.settings['area_width'];
iframe.style.height = tinyMCE.settings['area_height']; // ** THIS LINE! **
// MSIE 5.0 issue
if (tinyMCE.isMSIE)
replace_element.outerHTML = iframe.outerHTML;
else
replace_element.parentNode.replaceChild(iframe, replace_element);
Je ne sais pas ce que cela est. La seule explication que je pourrais trouver en ligne, indique que cela est lié à ne pas utiliser le préfixe www dans l'URL utilisée pour accéder à l'éditeur, mais il ne semble pas à la matière.
Comment puis-je résoudre ce problème?
La solution 2
La réponse est avéré être un bogue dans hak_tinymce, pas tinyMCE lui-même. hak_tinymce spécifie la hauteur de la zone de texte dans un tableau Javascript en utilisant des guillemets autour de la valeur, comme ceci:
somesetting: "somevalue",
height:"420",
Quand tinyMCE essaie de faire de l'arithmétique sur la valeur de la hauteur, il s'en quelque sorte dans une chaîne, quand il aurait dû être traité comme un entier. Le débogueur de script a révélé la hauteur étant réglé sur « 420-42 », je ne figure pas comment.
Cependant, hak_tinymce, ajoutant ce qui suit entre la ligne 276 et 277 œuvres:
EOF;
$js = preg_replace('/height:\"(\d+)\"/i', 'height:$1', $js); // added line
return $js;
résout le problème aussi bien pour les textareas du corps et extrait.
Autres conseils
Eh bien, vous pouvez essayer de activer débogueur de script MS