2011-07-25 5 views
5

Dobry wieczór, pierwsze pytanie tutaj!TinyMCE, IE9, stripping <script> tagi

Szukałem i sprawdziłem, i znalazłem rozwiązania, które nie działają. Mój problem polega na tym, że IE9 (i 8, 7 itd.) Usunie tagi w TinyMCE 3.4.3.2.

Obawiam się, że moje okoliczności są trochę wyjątkowe: pracuję z istniejącym systemem CMS (niestandardowym), który jest nieco przestarzały, wykonany w języku Java i nie jest przyjazny dla XHTML. Istnieje niestandardowa wtyczka, która umożliwia wstawienie kodu skryptu, a następnie otacza go znacznikami CDATA. Zasadniczo:

insertHTML(document.videoForm.myobj.value);

Gdzie insertHTML dobrze, wstawia go gdzie był kursor. Teraz działa to fantastycznie w Chrome, Firefox itp., Ale kończy się niepowodzeniem w IE. Po wstawieniu skryptu za pomocą wyskakującego okna tekstowego, a następnie za pomocą wbudowanej przeglądarki HTML programu TinyMCE, znaczniki <script> znikają. Umieszczanie <br /> przed tagami skryptu sprawia, że ​​działa z jakiegoś powodu, ale jest to niepożądane, ponieważ wielu klientów nie wie, co to jest HTML.

Używanie programisty IE9 ... coś ... znalazłem błędy.
HTML1114: Codepage unicode from (UNICODE byte order mark) overrides conflicting codepage windows-1252 from (11)
wywołane przez doctype
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-Transitional.dtd">
KTÓRE jest źle, wiem, i chcę go zmienić, ale jestem pod bardzo surowymi ograniczeniami tutaj, i nie mam dostępu do tego typu dokumentów gdziekolwiek jest renderowany.

Kolejna rzecz: tu jest thingymajig extended_valid_elements:

extended_valid_elements: "SCRIPT[language<JavaScript?JavaScript1.1?JavaScript1.2?JScript?php?VBScript|src|wgtsrc|type<text/javascript?mce-text/javascript?javascript],script[language<JavaScript?JavaScript1.1?JavaScript1.2?JScript?php?VBScript|src|wgtsrc|type<text/javascript?mce-text/javascript?javascript],form[name|method|action|id|target|onsubmit],FORM[name|method|action|id|onclick|target|onsubmit],embed[src|type|wmode|width|height],object[class|id|classid|codebase|width|height]" 

Jeśli można dostrzec coś tam, że może rzucić IE wyłączyć, należy kierować go na zewnątrz. Jeśli możesz mi powiedzieć, że dziwne doctype rzuca go, daj mi znać i poproszę mojego pracodawcy, gdzie pochowany że ...

TL; DR: IE9 paski tagi w TinyMCE 3.4.3.2, prawdopodobnie z powodu doctype.

+4

Większość przeglądarek nie dba o takie typy dokumentów, a jedynie używa ich do określania "standardów" i trybów renderowania dziwactw (w zasadzie patrząc, czy w ogóle istnieje typ dokumentu * lub nie). Jest to prawdopodobnie coś innego niż wtedy. – hugomg

Odpowiedz

0

Czy znaczniki skryptów są zamykane automatycznie? Jeśli są to samoczynne znaczniki skryptów, to IE będzie mieć problemy.

Why don't self-closing script tags work?

Przykład zamknięcia własnym tagu skryptu:

<script src="" /> 

Format zgodny IE:

<script src=""></script> 
+0

Dzięki za odpowiedź, ale tagi nie były samozamykające. Obecnie właśnie wstawiam
, z czego mój szef jest zadowolony. – Zomxilla