【发布时间】:2012-04-25 19:27:14
【问题描述】:
我正在制作一个简单的加载栏,Facelets 似乎不喜欢我的 JavaScript 中的条件语句。
这是我的代码:
<div class="loader_bar">
<div></div>
</div>
<script type="text/javascript">
$(document).ready(function() {
setTimeout(function() {
var current_width = parseFloat($('.loader_bar div').css('width'));
var max_width = parseFloat($('.loader_bar').css('width'));
var next_width = current_width / max_width * 100 + 1;
if (next_width <= 100) {
$('.loader_bar div').css('width', next_width + '%');
setTimeout(arguments.callee, 10);
}
}, 100);
});
</script>
当我加载页面时出现以下错误:
javax.servlet.ServletException: Error Parsing /device/main/site/test.xhtml: Error
Traced[line: 69] The content of elements must consist of well-formed character data
or markup.
对应于我的JS函数“的if statement中的操作符
if(next_width <= 100).
为什么这不起作用?
【问题讨论】:
-
尝试将您的 JS 包装在 或将您的文件放在外部(无论如何更好)
-
您是否在某种 Java 框架中使用该视图?这与 Java 有什么关系?
-
@gillesc - 谢谢你,我试过了,我不再出现错误了,但现在javascript似乎不起作用(即我的加载栏没有填满)。我尝试将 CDATA 放在 $(document).ready... }); 之前我也只尝试过这个功能。有什么想法吗?
-
@entek - 如问题所示,我正在使用 JSF 框架,并且在 jsfiddle 中执行此操作时没有收到任何错误,因此出现 Java 错误。谢谢。
-
什么框架?也许它希望视图具有某种要指定的 XML Schema?
标签: javascript jsf facelets