2011-06-03 17 views
5

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):

https://client.portal.com/http://server.address/blabla/js/jsFileName.js?v=123&psScriptReferrer=http://server.address/blabla/

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

+2

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

Respuesta

1

Me gustaría probar la actualización a la versión actual de TinyMCE, que es 3.4.3.

En la lista de cambios.archivo txt de esa versión hay, entre muchas otras correcciones de errores,

"Se corrigió el error donde se arrojó una excepción en tinymce.util.URI al analizar un URI relativo y no se proporcionó la configuración base_uri".

No estoy seguro de que resuelva su problema, pero debería ser más fácil con una versión actualizada, ya que es menos probable que problemas diferentes interfieran entre sí.

+1

Intentó la versión 3.4.3 - sin suerte (mismo error). – Peter

Cuestiones relacionadas