Estaba usando tiny mce (versión 3.2.6) durante bastante tiempo (sin problemas), pero quería actualizarlo a una versión más nueva (3.4.2) . El motivo de la actualización fue algún problema con el complemento de terceros (corrector ortográfico); después de probar con una versión más nueva, esos problemas se solucionaron y los desarrolladores env. todo estaba funcionando bien. El problema ocurrió en live env (después de entregar la nueva versión de la aplicación al cliente), en el lado del cliente, puede conectarse a la aplicación (usando tiny mce) de dos maneras:Tiny mce dejó de funcionar después de la actualización (url modificado)
(1) type address (modo normal, todo funciona bien)
(2) utilizando algún tipo de portal - aplicación de cliente, que modifica las URL por alguna razón que no sé - utilizando esta forma Tiny mce dejó de funcionar después de la actualización a (3.4.2). (He comprobado dos veces y esto está relacionado solo con la actualización de la versión de mce pequeña, no con complementos u otros problemas).
La forma en que los clientes de portales convierte los URLs se ve así: no convertida url:
http://server.address/blabla/js/jsFileName.js?v=123
url convertido (agarró por el violinista):
Como le dije antes, la versión 'antigua' (3.2.6) funcionaba bien (incluso con esas URL mágicamente convertidas), el problema ocurría después de actualizar el mce pequeño (sin cambios en la configuración ni nada) . El error que estoy recibiendo es:
q is not a constructor
https://client.portal.com/http://server.address/blabla/js/tiny_mce/tiny_mce.js?v=123&psScriptReferrer=http://server.address/blabla/
Line 1
(function(d){var a=/^\s*|\s*$/g,e,c="B...{a.selection.onSetContent.add(f)})}});
consigo este EROR en todos los navegadores (revisado en: IE6/IE8/FF3.6). Esto también da como resultado un mce pequeño no cargado (solo se muestra la entrada de texto 'plain-html').
Mi hipótesis es que la nueva versión incluye algunas expresiones regulares, y el enlace convertido mágicamente contiene más de una cadena 'http'.
que he probado algunos cambios para los siguientes parámetros (estableciendo su valor a 0) - sin suerte: convert_urls: 1, RELATIVE_URLS: 1, remove_script_host: 1
es también una más 'prometedor' parámetro: document_base_url: tinymce.documentBaseURL
pero ya que esta aplicación debería estar funcionando utilizando dos formas descritas anteriormente (1) y (2), no puedo codificar el enlace allí (también esto suena como una solución muy frágil).
No puedo asegurar 100% que este es un error en tinymce, porque usar la dirección 'normal' todo funciona bien. Por otro lado, no puedo hacer nada con la conversión de URL.
<script type="text/javascript">
tinyMCE.init({
mode : "exact",
elements : "content, contentFr",
theme : "advanced",
plugins : "spellchecker",
spellchecker_languages : "+English=en_CA,French=fr",
spellchecker_rpc_url : "jmyspell-spellchecker",
// Theme options
theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,fontselect,fontsizeselect,|,forecolor,backcolor,sub,sup",
theme_advanced_buttons2 : "link,unlink,|,bullist,numlist,|,justifyleft,justifycenter,justifyright,justifyfull,|,code,|,spellchecker",
theme_advanced_buttons3 : "",
theme_advanced_buttons4 : "",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
theme_advanced_resize_horizontal : 0,
theme_advanced_path: false,
content_css : "css/tinyMCE_custom.css",
oninit: function(){
tinyMCE.get('content').setContent('some text here');
tinyMCE.get('contentFr').setContent('some different text here');
}
});
</script>
Gracias por cualquier ayuda/sugerencias.
Saludos,
Peter
He hecho algunas luchas similares con TinyMCE. Primero, sustituya la versión modificada de TinyMCE por la versión normal, de modo que al menos su mensaje de error tenga sentido. Verifique que el navegador esté interpretando el script como un archivo JavaScript, debe verificar el encabezado HTTP Content-Type, su proxy podría estropearlo. – Halcyon