2011-11-28 92 views
7

我在Eclipse中創建(幾乎是從零開始)動態Web項目,我創造,我把包括JSPX JS文件(JQuery的)文件

<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 sortable和我一個JSPX文件發現使用JSPX,只有第一個腳本加載在Firefox和IE中(而在opera中它可以工作......)。如果我使用純JSP,無論是XHTML的HTML,它都會加載所有的JS文件。

有什麼辦法成功地包括所有的JS文件,而不使用

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

,我必須知道的? (因爲這一個加載腳本INTO最終(X)的HTML)

編輯:只是想...爲什麼Opera閱讀xhtml權利,而FF和IE瀏覽器在閱讀<script>標籤失敗?它可能是一個錯誤?

回答

9

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>語法(在瀏覽器中右擊頁面並做查看源看到它自己)。瀏覽器行爲未確定。

您可以通過將一個<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> 
+0

之間解決這一所以,這是相當對IE6需要同樣的伎倆,需要某種&NBSP的,&#160左右。我現在就試試吧嘿 – Alfabravo

+0

裏面'​​',你的意思是?那麼,這實際上是一個不同的原因:) – BalusC

+0

不,在我工作的Cocoon上的一些應用程序中,人們把標籤與結束標籤放在一起,但沒有任何東西,而且序列化的東西顯然是好的。不知何故,IE6未能獲得JS,除非在每個腳本的標籤之間添加了一些空格(「 」)。同樣發生在帶有背景圖像且沒有文字的「a」標籤上,除非增加一些空格,否則圖像不會顯示。 – Alfabravo