2013-03-30 43 views
3

在我default.jspx它包含了我想进口一些jQuery的库如下<script>标签不正常关闭

<head> 
    ... 
    <spring:url value="/resources/js/lib/jquery-1.9.1.min.js" var="jquery_url" /> 
    <spring:url value="/resources/js/lib/jquery.tokeninput.js" var="jquery_tokeninput_url" /> 
    <script src="${jquery_url}" type="text/javascript"></script>  
    <script src="${jquery_tokeninput_url}" type="text/javascript"></script> 
    <script type="text/javascript"> 
     $.noConflict(); 
    </script> 
    <util:load-scripts /> 
    ... 
</head> 

但页面的基本布局,当页面在浏览器中呈现的第一个脚本标签吞下两个人

<head> 
... 
<script type="text/javascript" src="/roo-inari/resources/js/lib/jquery-1.9.1.min.js"> 
//These lines are inside the first script tag 
<script type="text/javascript" src="/roo-inari/resources/js/lib/jquery.tokeninput.js"/> 
<script type="text/javascript"> 
     $.noConflict(); 
//The tag is closed here 
</script> 
<link href="/roo-inari/resources/dijit/themes/tundra/tundra.css" type="text/css" rel="stylesheet"> 
... 

任何想法可能会导致什么呢?该项目是基于春天生成的网络mvc脚手架。 我正在使用Chrome v.25。

+0

我不知道春天,但如果你的JSP源对被解析的服务器变量的两行结束'',有看似是一些原因,春天什么服务器输出的是。如果你没有从*真实页面源*拷贝(右键单击,查看源代码),然后显示。 –

+1

+1我不知道为什么downvotes。我不知道[tag:spring-mvc],但这看起来很奇怪,HTML最终会像这样,因为脚本标签看起来很好,并且在页面中看起来很好,假设'src'是[tag :弹簧-MVC]。 – Nope

+0

+1我不知道为什么downvotes(请解释,如果你这样做),我跑过这个完全相同的问题,这完全描述它。 –

回答

5

简单的解决方案是在标签内写入注释,以便它不会自动关闭。我傻

<script src="${jquery_url}" type="text/javascript"><!-- required for some browsers --></script> 
+2

+1,因为这听起来像是具有类似问题的未来用户可能会觉得有用。只要SO让你,也将这个答案标记为已接受。 – Nope

+0

对此的解释是解析器在元素内部没有任何内容时会吞下结束标记。正如@Pyhtos所建议的那样,在空脚本标记内部添加一个表示可以解决问题。我在一年前遇到过这个问题,我相信这个解释与XHTML有关。 – CodeChimp