Spe*_*ent 5 javascript jsf pagespeed
使用 JSF 延迟加载 JavaScript 库(Richfaces、Primefaces、自己的东西)以加快页面加载的最佳方法是什么?
正如 Google PageSpeed 插件所说,建议在网站完全加载时解析 JavaScript。实现此目的的一种方法是将 JavaScript 加载放在<body>标签的末尾。另一种方法是将“defer”属性放在<script>标签上,<h:outputScript>正如我所见,这是用JSF的标签无法做到的。
那么,你会怎么做呢?
使用<h:outputScript target="body">. 然后它将在<h:body>. 它即默认为视图中的“当前”位置(另一个target值head将使脚本以 结束<h:head>,即使脚本在 中的某处指定<h:body>)。
<h:outputScript name="js/foo.js" target="body" />
Run Code Online (Sandbox Code Playgroud)
如果你想申请这对第三方的脚本,以及,你需要创建一个自定义SystemEventListener的挂钩PreRenderViewEvent这不正是与帮助UIViewRoot#getComponentResources()和UIViewRoot#addComponentResource()。
不知道这是否重要(您可以称之为解决方法),
但是您始终可以在外部 xhtml 页面中包含一些 js 文件,这些文件将包含在您的主页中,ui:include该文件将被 js/jquery 包装,并且在 js/jquery 的帮助下,您可以在一些隐藏的文件上<h:panelGroup id="externalPageWrapper" render="#{myBean.renderExternalPage}"执行,这会将 更改为 true 并呈现这将加载该 xhtml 页面以及其中包含的所有 js 文件....click()h:commandButtonf:ajaxrenderExternalPageexternalPageWrapper
| 归档时间: |
|
| 查看次数: |
2850 次 |
| 最近记录: |