2011-11-28 18 views
7

Tworzę dynamiczny projekt WWW w Eclipse (niemal od podstaw) i stworzyłem plik JSPX gdzie położyłemtym pliki JS (jQuery) w JSPX plików

<head>... 
<script type="text/javascript" src="route/to/scripts/jquery.js"></script> 
<script type="text/javascript" src="route/to/scripts/jquery.ui.js"></script> 
<script type="text/javascript" src="route/to/scripts/something.js"></script> 
</head> 

Zamierzam użyć Jquery UI sortable i ja dowiedziałem się, że przy użyciu JSPX, tylko pierwszy skrypt ładuje się w Firefoksie i IE (podczas gdy w operze działa ...). Jeśli używam zwykłego JSP, czy HTML XHTML, to ładuje wszystkie pliki JS.

Czy istnieje jakiś sposób, aby uwzględnić wszystkie pliki JS powodzeniem bez użycia

<script> 
<jsp:include ...> 
</script> 

że muszę być świadomy? (ponieważ ten ładuje skrypt DO ostatecznego (X) HTML)

EDYCJA: Tylko myślę ... dlaczego Opera odczytuje xhtml w prawo, podczas gdy FF i IE nie potrafiły odczytać tagów <script>? Czy to może być błąd?

Odpowiedz

9

JSPX ma dziwaczne zachowanie, że automatycznie załamuje tagi bez ciała. Tak skutecznie

<script type="text/javascript" src="route/to/scripts/jquery.js"></script> 
<script type="text/javascript" src="route/to/scripts/jquery.ui.js"></script> 
<script type="text/javascript" src="route/to/scripts/something.js"></script> 

skończy się w przeglądarce jako

<script type="text/javascript" src="route/to/scripts/jquery.js" /> 
<script type="text/javascript" src="route/to/scripts/jquery.ui.js" /> 
<script type="text/javascript" src="route/to/scripts/something.js" /> 

który jest nieważny <script> składnia (strona kliknij prawym przyciskiem myszy w przeglądarce i zrobić View Source żeby go zobaczyć siebie). Zachowanie przeglądarki jest nieokreślone.

to można obejść poprzez umieszczenie <jsp:text /> pomiędzy znacznikami

<script type="text/javascript" src="route/to/scripts/jquery.js"><jsp:text /></script> 
<script type="text/javascript" src="route/to/scripts/jquery.ui.js"><jsp:text /></script> 
<script type="text/javascript" src="route/to/scripts/something.js"><jsp:text /></script> 
+0

Tak, to zupełnie tak samo podstęp wymagane IE6 że wymagane jakieś & nbsp, & # 160 lub tak. Spróbuję teraz hehe – Alfabravo

+0

Wewnątrz '', masz na myśli? Cóż, to ma inną przyczynę :) – BalusC

+0

Nie, w jakiejś aplikacji nad Kokonem pracowałem, ludzie umieszczali znacznik z zamykającym tagiem, ale bez niczego pomiędzy serializowanymi rzeczami najwyraźniej było w porządku. W jakiś sposób IE6 nie udało się uzyskać JS, chyba że pomiędzy tagami dla każdego skryptu dodano spacje (" "). Zdarzyło się również z tagami "a" z obrazem tła i bez tekstu, którego obraz nie był wyświetlany, chyba że dodano również niektóre spacje. – Alfabravo

Powiązane problemy