Javascript没有在JSF+;第一页?
在这个使用Primefaces的JSF页面中,我不明白为什么页面底部的javascript没有被调用 函数“initVisualization()”包含在页面顶部加载的progressbar1.js文件中 任何hep都将不胜感激Javascript没有在JSF+;第一页?,javascript,jsf,jsf-2,primefaces,Javascript,Jsf,Jsf 2,Primefaces,在这个使用Primefaces的JSF页面中,我不明白为什么页面底部的javascript没有被调用 函数“initVisualization()”包含在页面顶部加载的progressbar1.js文件中 任何hep都将不胜感激 <?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/x
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
>
<h:head>
<title>academiCV</title>
<h:outputStylesheet name="css/otherpages.css" />
<h:outputScript library="js" name="kinetic-v4.0.5.js" />
<h:outputScript library="js" name="progressbar1.js" />
</h:head>
<h:body>
<h:form id="formID" prependId="false">
<p:remoteCommand name="launchSearch" action="#{progressBarMessenger.processCalls()}"/>
<p:remoteCommand name="checkUpdates" action="#{progressBarMessenger.checkUpdates()}"/>
<p:poll interval="1" update="text,counter" oncomplete="checkUpdates(); updateVisualization();"/>
<h:inputHidden id="counter" value="#{progressBarMessenger.progressMessage}"/>
<div style="margin-left: 50px;font-size: 130%;">
<div id="container"></div>
<h:panelGrid id="text">
<h:outputText id="txt" value="#{progressBarMessenger.returnMsg()}" escape="false"/>
<h:commandButton id="button1" value="Look at probable mistakes" action ="#{progressBarMessenger.getNextPage()}" rendered ="#{progressBarMessenger.toggleButtonCorrections}"/>
<h:commandButton id="button2" value="Let our algorithms do the corrections, go to the final result" action ="#{controllerBean.skipPairs()}" rendered ="#{progressBarMessenger.toggleButtonCorrections}"/>
<h:commandButton id="button3" value="Check the list of co-authors of #{controllerBean.getSearch().fullname}" action ="#{progressBarMessenger.getNextPage()}" rendered ="#{progressBarMessenger.toggleButtonFinalCheck}"/>
<h:commandButton id="button4" value="Open #{controllerBean.getSearch().fullname}" action ="#{progressBarMessenger.getNextPage()}" rendered ="#{progressBarMessenger.toggleButtonReport}"/>
</h:panelGrid>
</div>
</h:form>
</h:body>
<script type="text/javascript">
//<![CDATA[
$(function(){
initVisualization();
}); //end ready
//]]>
</script>
</html>
顺便说一下,progressBar1.js中包含的js函数的第一行:
var stage;
function initVisualization(){
stage = new Kinetic.Stage({
container: 'container',
width: 1100,
height: 500
});
var barsLayer = new Kinetic.Layer();
var aLayer = new Kinetic.Layer();
var bLayer = new Kinetic.Layer();
var cLayer = new Kinetic.Layer();
var dLayer = new Kinetic.Layer();
var aRect = new Kinetic.Rect({
x: 10,
y: stage.getHeight() - 115 - 10,
width: 245,
height: 1,
fill: 'green',
// stroke: 'black',
// strokeWidth: 0,
name:'aBar'
});
etc...
首先,正如Daniel所说,从页面中删除Java脚本并将其包含在Java脚本文件中 第二,也是最重要的一点,当您将Jquery与primfaces一起使用时,您应该将
放在
的末尾,而不是
。这样,它将在加载Jquery/UI提供的PrimeFaces后加载
首先,正如Daniel所说,请从页面中删除Java脚本并将其包含在Java脚本文件中 第二,也是最重要的一点,当您将Jquery与primfaces一起使用时,您应该将
放在
的末尾,而不是
。这样,它将在加载Jquery/UI提供的PrimeFaces后加载
查看此而不是
您是否尝试过
?(顺便说一句,您在js控制台中是否有任何错误?)我没有使用您包含的其他JavaScript库,但似乎$
正在被其中一个库覆盖,而不是PrimeFaces附带的jQuery中使用的库。感谢您的评论。我使用控制台的跟踪进行更新。@seinecle为了安全起见,请从xhtml中删除func调用,并将以下内容添加到progressbar1.js文件中:$(document).ready(函数(){initVisualization();})代码>而不是
您是否尝试过
?(顺便说一句,您在js控制台中是否有任何错误?)我没有使用您包含的其他JavaScript库,但似乎$
正在被其中一个库覆盖,而不是PrimeFaces附带的jQuery中使用的库。感谢您的评论。我使用控制台的跟踪进行更新。@seinecle为了安全起见,请从xhtml中删除func调用,并将以下内容添加到progressbar1.js文件中:$(document).ready(函数(){initVisualization();})代码>
var stage;
function initVisualization(){
stage = new Kinetic.Stage({
container: 'container',
width: 1100,
height: 500
});
var barsLayer = new Kinetic.Layer();
var aLayer = new Kinetic.Layer();
var bLayer = new Kinetic.Layer();
var cLayer = new Kinetic.Layer();
var dLayer = new Kinetic.Layer();
var aRect = new Kinetic.Rect({
x: 10,
y: stage.getHeight() - 115 - 10,
width: 245,
height: 1,
fill: 'green',
// stroke: 'black',
// strokeWidth: 0,
name:'aBar'
});
etc...