Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z prototype.js + tinymce + scriptaculous w CakePHP
Forum PHP.pl > Forum > Gotowe rozwiązania
prond
Mam problem z działaniem tinyMCE razem z prototype.js i scriptaculous (w CakePHP)

W IE tinyMCE próbuje non-stop załadować plik blank.htm, co w rezultacie wywala mi kompletnie IE.
Ciekawe jest to, że za każdym wywołaniem zmienia się adres, z którego IE chce pobrać ten plik:
/js/vendors/tinymce/blank.htm
/js/js/vendors/tinymce/blank.htm
/js/js/js/vendors/tinymce/blank.htm
i tak do tragicznej śmierci IE.


Zgodnie z opisem znalezionym na http://bakery.cakephp.org/articles/view/140 mam następującą kolejność ładowania skryptów :

  1. <script type="text/javascript" src="/js/vendors/prototypejs/prototype.js"></script>
  2. <script type="text/javascript" src="/js/vendors/tinymce/tiny_mce.js"></script>
  3. <script type="text/javascript" src="/js/vendors/tinymce/tiny_mce_init.js"></script>
  4. <script type="text/javascript" src="/js/vendors/scriptaculous/scriptaculous.js"></script>


Plik tiny_mce_init.js zrobiłem też zgodnie ze wskazówkami w tym artykule (mode:"none" i convert_urls : false).

Po wrzuceniu plików .htaccess (dla CakePHP) naturalnie do edytora wpada cała strona główna z komunikatem, że nie ma stronki "/js/vendors/tinymce/blank.htm".

Jak chcecie zobaczyć skrypty to umieściłem to tymczasowo na http://cms.zajebisty.pl/news/add
revyag
Hmm, raczej to nie jest problem javascriptowy, tylko konfiguracyjny, więc przenoszę na gotowe rozwiązania.
prond
Problem tkwi po stronie przeglądarki, w JavaScript ponieważ pod FF wszystko działa.

Jedynie IE próbuje ciągle ładować blank.htm

Odpowiada za to taki kod JS :

setupContent : function(editor_id) {
var inst = tinyMCE.instances[editor_id], i;
var doc = inst.getDoc();
var head = doc.getElementsByTagName('head').item(0);
var content = inst.startContent;

....

if (!head) {
window.setTimeout("tinyMCE.setupContent('" + editor_id + "');", 10);
return;
}
...

}

@revyag : Fakt, że wspomniałem o CakePHP i .htaccess jest istotny dlatego, że pod linkiem, który podałem jest taka właśnie konfiguracja i nie zaobserwujesz ładowania w kółko blank.htm, a jedynie wyświetlenie strony błędu.
revyag
No dobra, ale czy to Twój kod javascript ? Czy kod którejś biblioteki ?
prond
To jest fragment kodu z tiny_mce_src.js.
Skoro metoda 'setupContent' nie przestaje się wywoływać w IE to zmienna

var head = doc.getElementsByTagName('head').item(0);

jest pusta.

Przypuszczam, że może to mieć coś wspólnego z rozszerzeniami do elementów DOM wprowadzonymi przez prototype.js.

Niestety sam JS nie koduje, tylko wykorzystuje gotowe rozwiązanie więc mogę się mylić.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.