Javascript 在Cognos 10中报告就绪时触发的可靠事件

Javascript 在Cognos 10中报告就绪时触发的可靠事件,javascript,jquery,cognos,cognos-10,Javascript,Jquery,Cognos,Cognos 10,我有一些Cognos报告,其中包括定制javascript函数,这些函数需要在报告加载后立即运行。我无法找到在报表准备就绪时触发的事件,因此我只在报表底部的HTML项中包含函数调用。一旦加载了包含调用的脚本标记,就会调用这些函数。自定义函数使用jQuery,因此我在导入jQuery的报表顶部有另一个HTML项 问题是,有时函数在jQuery完成加载之前执行,从而导致错误。检查页面源代码时,我发现尽管脚本标记的顺序被保留,但它们都被放置在页面的头部。没有任何东西可以阻止它们并行加载,或者在报表加载

我有一些Cognos报告,其中包括定制javascript函数,这些函数需要在报告加载后立即运行。我无法找到在报表准备就绪时触发的事件,因此我只在报表底部的
HTML项中包含函数调用。一旦加载了包含调用的脚本标记,就会调用这些函数。自定义函数使用jQuery,因此我在导入jQuery的报表顶部有另一个
HTML项

问题是,有时函数在jQuery完成加载之前执行,从而导致错误。检查页面源代码时,我发现尽管脚本标记的顺序被保留,但它们都被放置在页面的头部。没有任何东西可以阻止它们并行加载,或者在报表加载完成之前执行

我能想到的最好的解决方案是在报表加载完成后从某个事件触发函数调用。是否有人发现在报告准备就绪时可靠触发的事件或事件集:

  • 从提示页面加载后
  • 从另一份报告钻取
  • 单击页面上的“重新打印”按钮时
JQuery的documentready在这些情况下都不会触发
显然在Cognos8中工作,但在Cognos10中不工作。

使用(文档)。准备好了吗


var j=jQuery.noConflict();
j(文档).ready(函数()
{
j('.ShowHideList').hide();
j('.ShowHideClicker')。单击(函数()
{
j(this.next().toggle();
});
});

谢谢,这很有效!我认为我缺少的关键是,jQuery的导入和document ready函数需要在同一个
HTML项中
,否则函数绑定可以在jQuery加载之前运行行在单独的.js文件中,因为它在多个报告中使用。它有时会在jQuery加载之前执行。我身上的极简主义编码器喊道:“jQuery导入只需执行一次!!”。我感到欣慰的是,即使代码是冗余的,解决方案也很简单。
<script type="text/javascript" 
  src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript" 
  src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery-ui.min.js"></script>
<script type="text/javascript">
var j = jQuery.noConflict();
j(document).ready(function()
{
  j('.ShowHideList').hide();
  j('.ShowHideClicker').click(function()
  {
    j(this).next().toggle();
  });
});
</script>