0

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 函数来处理这个问题。

这适用于除 IE 8 之外的所有浏览器,脚本在面板完全呈现之前运行。

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

4

1 回答 1

1

我只会使用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
  }
});
于 2013-07-02T12:02:11.037 回答