Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] Problem z edytorem WYSIWYG
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
WebCM
Kod
uncaught exception: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMNSHTMLDocument.designMode]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: [address to JS file] :: Textarea :: line 60" data: no]


Kod:
  1. <div id="div_xu_txt" style="display: none">
  2. </div>
  3. <textarea name="xu_txt" id="xu_txt" cols="40" rows="10">aaaa</textarea>
  4. <script type="text/javascript">
  5. tx_xu_txt=new Textarea("xu_txt","div_xu_txt");
  6. <br />
  7. <a href="java script:tx_xu_txt.On(1)">HTML</a> |
  8. <a href="java script:tx_xu_txt.On(2)">Treść</a>


Biblioteka (dołączana wcześniej):
http://pastebin.4programmers.net/1760

FID - ID ramki <iframe>
TID - ID pola tekstowego

Błąd występuje po ostatnich zmianach w kodzie. Co powoduje problem?
devnul
prawdopodobnie chodzi o to że przeglądarka na której to odpalasz nie posiada takiej wlasciwosci jak designMode i nie można jej zapisywać - w warunku wyłapuj czy jest to przeglądarka x i wtedy odpowiednia procdura czy y i inna procedura
WebCM
Na pewno istnieje właściwość designMode. Wcześniej mi to działało - tylko że wtedy do tworzenia ramki istniała funkcja Create(), a potem odwoływałem się do niej już poza biblioteką, po linijce tx_xu_txt=new Textarea [...] Czy po prostu zmienna tx_xu_txt nie jest jeszcze zarejestrowana podczas wykonywania się funkcji Textarea()?

Czytałem, że zamiast ramki (co jest niezgodne z xHTML Transitional lub Strict) można użyć <object> w celu dołączenia dokumentu. Czy podobnie jest z edytorem WYSIWYG?
devnul
niezgodne jest i owszem - możliwe ze element nie zdąży się zarejestrować w drzewie dom i przez to odwołanie się do niego jest błędne - możesz czekać na załądowanie dokumentu i wtedy próbować utworzyć obiekt Textarea a zamiast ramki można użyć object (ale chyba to nie wszedzie dziala) ale raczej w tryb edycji object nie przełączysz. Za to dynamiczne (JS) wstawienie iframe do drzewa dom (notabene tez niezgodne ze specyfikacją) nie spowoduje wyplucia błędów przez walidator (aczkolwiek - dokumentacja jest po to zeby ją łamać ;P - jeśli nie da się do niej zastosować - bo nie chodzi o to żeby być strict a o to żeby strona była dostępna (chociaz nie powinno się stosować rzeczy sprzecznych z zastosowanym doctype - ale to już osobny wywód można zrobić))
WebCM
Użycie funkcji Create() i wywołanie jej po tej linijce nie pomaga. Być może jest to błąd FF (choć pod IE też jest jakiś problem - body jest pusty lub nie jest obiektem - być może dlatego, że ramka jest pusta):

http://dojotoolkit.org/pipermail/dojo-chec...ust/009505.html
Spróbuję jutro zastosować się do tego.
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.