【发布时间】:2013-01-26 18:47:44
【问题描述】:
我正在将一个 html 迁移到 jsf 文件,但是一个脚本失败了,该脚本在安装在 wamp 服务器中的 html 中运行。
代码:
> <h:head>
> <meta charset="utf-8"/>
> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
> <title></title>
> <meta name="description" content=""/>
> <meta name="viewport" content="width=device-width, initial-scale=1"/>
> <link rel="stylesheet" href="../css/media-queries.css" media="screen" />
> <script type="" src="../js/vendor/modernizr.2.6.2.min.js"></script>
> <script type="" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
> <script type="text/javascript">window.jQuery || document.write('<script
> src="../js/vendor/jquery-1.8.0.min.js"><\/script>')</script> <!-- This is the line 21 -->
> <script type="" src="../js/jquery.mobile.min.js"></script>
> <script type="" src="../js/jquery.dataTables.min.js"></script>
> <script type="" src="../js/jquery.formCharmer.js"></script>
> <script type="">if(Modernizr.csstransitions){document.write('<link
> rel="stylesheet" href="../css/charmerAnimation.css"/>')}</script>
> <!--[if (gte IE 6)&(lte IE 8)]>
> <script src="../js/selectivizr.min.js"></script>
> <![endif]-->
> <!--[if lte IE 9]>
> <script src="../js/css3-mediaqueries.js"></script>
> <![endif]-->
> </h:head>
错误:
HTTP 状态 500 - 解析 /content/contentA.xhtml 时出错:错误 Traced[line: 21] 元素的内容必须由数据标记组成 或正确的格式。
这是 HTML 代码:
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../css/media-queries.css" media="screen" />
<script src="../js/vendor/modernizr.2.6.2.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="../js/vendor/jquery-1.8.0.min.js"><\/script>')</script>
<script src="../js/jquery.mobile.min.js"></script>
<script src="../js/jquery.dataTables.min.js"></script>
<script src="../js/jquery.formCharmer.js"></script>
<script>if(Modernizr.csstransitions){document.write('<link rel="stylesheet" href="../css/charmerAnimation.css">')}</script>
<!--[if (gte IE 6)&(lte IE 8)]>
<script src="../js/selectivizr.min.js"></script>
<![endif]-->
<!--[if lte IE 9]>
<script src="../js/css3-mediaqueries.js"></script>
<![endif]-->
</head>
【问题讨论】:
-
可能需要分解 document.write 中的
<script>标签。例如'<scri' + 'pt>'防止内部“标签”泄漏到主上下文中。 -
您应该在包含
<、>和&符号的JS 代码中使用CDATA 块,如here 所示 -
/* / and / ]]> */,工作,坦克。
标签: javascript jsf