首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果文件在完整页面刷新后没有呈现,我如何在h:head中有条件地呈现.js文件?

如果文件在完整页面刷新后没有呈现,我如何在h:head中有条件地呈现.js文件?
EN

Stack Overflow用户
提问于 2012-11-23 23:45:28
回答 1查看 2.3K关注 0票数 3

PrimeFaces在h:head中有条件地呈现以下内容:

代码语言:javascript
复制
<script type="text/javascript" src="/webapp/javax.faces.resource/push/push.js.jsf?ln=primefaces"><!--//--></script>

当PrimeFaces p:socket组件添加到JSF/xhtml页面时。我的一些页面刷新了,导致这个push.js文件'not‘在h:head中呈现。

当push.js文件“不”呈现时,我希望有条件地呈现push.js文件,以尝试修复/解决我在PrimeFaces推送中遇到的问题。

有关更多详细信息,请单击下面的PrimeFaces论坛主题网址:

Uncaught TypeError: undefined is not a function

我之所以提出这个问题,是因为我已经基于bean属性值有条件地呈现了h:head,如下所示:

代码语言:javascript
复制
<h:head rendered="#{!pageNavigationController.gmaps and !pageNavigationController.gmapsAutoComplete}">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="refresh" content="#{session.maxInactiveInterval};url=pf_viewExpired.jsf" />
    <title><h:outputText escape="false" value="MCMS"/></title>
    <h:outputStylesheet name="css/mcms.css"/>
    <h:outputScript name="js/mcms.js"/>
    <h:outputScript name="js/addUsingTemplate.js"
                    rendered="#{pageNavigationController.isPageSelected('/orders/pf_AddUsingTemplate.xhtml')}"/>
</h:head>

也许我使用h:head使得容器Output1.5快照很难为.js文件提供服务,因为在页面上呈现多个h:head是有条件的,或者这实际上可能是一个PrimeFaces推送(大气)问题,最终需要解决,但我确信有一种方法可以通过h: TomEE脚本呈现文件,如果文件还没有呈现在h:head中。

web应用程序正在使用以下内容:

PrimeFaces 3.5快照、TomEE 1.5快照(Tomcat 7.0.32)、JUEL 2.2.5、OmniFaces 1.3快照

请给我建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-24 01:16:43

这看起来更像是PrimeFaces的问题。为了在同一视图的每个请求上强制加载push.js,您可以显式地添加一个

代码语言:javascript
复制
<h:outputScript library="primefaces" name="push/push.js" target="head" /> 

而不使用条件渲染。如果一切顺利,即它按照JSF2资源处理机制运行良好,那么在它正常工作的情况下,它根本不应该包含两次。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13532172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档