PrimeFaces和JQuery:资源排序
我有一个JQuery导入顺序的问题。 在头部我做:
...
我的页面第一次加载一切似乎都是正确的,特别是jquery / jquery-plugins顺序:
...
在页面上是按钮之类的
按下其中一个后,页面再次加载,并在JS-Console中出现错误
Uncaught ReferenceError: jQuery is not defined at tbmDisposition-aendernPF.jsf:3 VM219 jquery-plugins.js.jsf?ln=primefaces&v=6.0:5 Uncaught ReferenceError: jQuery is not defined at VM219 jquery-plugins.js.jsf?ln=primefaces&v=6.0:5 at VM219 jquery-plugins.js.jsf?ln=primefaces&v=6.0:5
当你看到生成的html时:
...
您可以看到jquery-plugins 高于 jquery,导致所描述的错误。
当然,我在头部尝试了各种替代方案但没有成功,所以任何帮助都会受到赞赏。
版本信息
PrimeFacs:6.0
JSF:1.2_15-jbossorg-2
服务器:jboss-as-7.1.2.Final
问候凯
更新:调试HeadRenderer我发现HeadRenderer似乎根本不负责JQuery。 它必须与Widget的ResourceDependencies及其呈现方式有关。 有谁知道哪个渲染器可能负责ResourceDependencies?
更新2:此外我使用BootsFaces进行布局。 现在我了解到BootsFaces也有自己的JQuery和资源优化……
更新3:在BootsFaces的ResourceFileComparator中,JS文件将被重命名为
if (name.contains("jquery-ui")) name = "2.js"; // make it the second JS file else if (name.contains("jquery")) name = "1.js"; // make it the first JS file
但就我而言,jquery-ui的名称是:“jquery / jquery-plugins.js”=>“jquery / jquery.js”和“jquery / jquery-plugins.js”都将重命名为“1.js”
我在BootsFaces-OSP( https://github.com/TheCoder4eu/BootsFaces-OSP/issues/640 )上发现了一个问题并找到了解决方法(在本期中描述)。 所以现在它对我有用。