JSF <trh:script>render和运行顺序



javascipt函数的运行顺序是什么。每个浏览器都执行其他操作例如,我有这样的代码:

  <h:panelGrid id="panel" columns="2" border="1" cellpadding="0" cellspacing="2">
    <f:facet name="header">
        <h:outputText value="#{messages.signInMessage}"/>
    </f:facet>
    <h:outputLabel for="username" value="#{messages.usernameLabel}" />
 </h:panelGrid>
 <trh:script>
       // do some logic
       // alert("end!");
 </trh:script>

我希望脚本总是在面板完全渲染后运行,这样我就可以以他的宽度为例,用javascript函数来处理这个问题。

除IE8外,所有浏览器都可以使用在面板完全渲染之前,脚本正在运行。

任何人都可以帮助我理解这个问题,正确的顺序是什么在更真实的情况下,浏览器之间有什么区别:IE、Chrome、FF等。

我只想使用jQuery:

<tr:document>
  <trh:script source="jquery.js"></trh:script>
  <trh:script source="your_script.js"></trh:script>
  ...
</tr:document>

然后,您可以在页面加载(.ready)上执行脚本:

$(document).ready(function(){
  // Your stuff here
});

如果您使用Ajax(Trinidad Partial Page Rendering),您可能需要在Javascript中添加一个状态更改侦听器。例如:

TrPage.getInstance().getRequestQueue().addStateChangeListener(function(state){
  if (state == TrRequestQueue.STATE_READY){
    // Your stuff here
  }
});

相关内容

  • 没有找到相关文章

最新更新