1

我有一些 Cognos 报告,其中包含需要在报告加载后立即运行的自定义 javascript 函数。我找不到在报告准备好时触发的事件,所以我只是HTML Item在报告底部的 s 中包含了函数调用。一旦加载了包含调用的脚本标签,就会调用这些函数。自定义函数使用 jQuery,所以我HTML Item在报告顶部有另一个导入 jQuery。

问题是有时函数在 jQuery 完成加载之前执行,从而导致错误。查看页面源码,我看到虽然保留了脚本标签的顺序,但它们都放在了页面的头部。没有什么可以阻止它们被并行加载,或者在报告完成加载之前执行。

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

  • 从其提示页面加载后
  • 从另一个报告中钻取
  • 当页面上的reprompt 按钮被点击?

JQuery 的文档就绪不会在任何这些情况下触发。<body onload>显然在 Cognos 8 中工作,但在 Cognos 10 中不起作用。

4

1 回答 1

2

使用(文档).ready

请参阅IBM 的此示例

<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>
于 2014-02-06T22:32:10.430 回答