Включение файлов JS (JQuery) в файлы JSPX
Я создаю динамический веб-проект в Eclipse (почти с нуля), и я создал файл JSPX, куда я положил
<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>
Я собираюсь использовать сортировку Jquery UI и обнаружил, что при использовании JSPX в Firefox и IE загружается только первый скрипт (в то время как в опере он работает...). Если я использую обычный JSP, будь то HTML XHTML, он загружает все файлы JS.
Есть ли способ успешно включить все файлы JS без использования
<script>
<jsp:include ...>
</script>
что я должен знать? (потому что этот загружает скрипт в окончательный (X)HTML)
РЕДАКТИРОВАТЬ: просто думать... почему Opera правильно читает xhtml, в то время как FF и IE не смогли прочитать <script>
теги? Может ли это быть ошибкой?
1 ответ
У JSPX есть своеобразное поведение, заключающееся в том, что он автоматически сворачивает теги без тела. Так эффективно
<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>
в конечном итоге в браузере
<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" />
который недействителен <script>
синтаксис (щелкните правой кнопкой мыши страницу в браузере и сделайте View Source, чтобы увидеть его самостоятельно). Поведение браузера не определено.
Вы можете обойти это, поставив <jsp:text />
между тегами
<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>