3

我在 cognos 中生成了一些活动报告。然后我在 Cognos 中使用 JQuery 处理了这个动态报告:http: //www.ibm.com/developerworks/library/ba-pp-reporting-advanced-report-design-page647/

我用 JQuery 生成了一些交互式报告。但现在我想使用 JQuery 生成一个活动报告。我试过了,但没有用。那么有没有办法在 mht 文件中使用 JQuery 呢?(因为活动报告以该格式存储)。

这是我在报表工作室的 HTML 项目中的代码:

<script type="text/javascript">
var j = jQuery.noConflict();
j(document).ready(function()
{
  alert("hello");
  j('.ShowHideMap').hide();
  j('.ShowHideClicker').click(function()
  {
    j(this).next().toggle();
  });
});
</script>

<div class="ShowHideClicker">Click here to show/hide the Map Report</div>
<div class="ShowHideMap">
  
  Map comes here
  
</div>  

我正在使用 Firefox 打开活动报告。当我打开报告并单击“单击此处显示/隐藏地图报告”时,它没有隐藏。

我拿了一个记事本并输入了以下代码并将其保存为“test.mht”

<html>
<head>
<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('.ShowHideMap').hide();
  j('.ShowHideClicker').click(function()
  {
    j(this).next().toggle();
  });
});
</script>
</head>
<body>
<div class="ShowHideClicker">Click here to show/hide the Map Report</div>
<div class="ShowHideMap">
Map
</div>
</body>
</html>

有效。当我单击“单击此处显示/隐藏地图报告”时,地图一词正在显示/隐藏。但是,当我在活动报告中的 HTML 项目中使用相同的代码时,报告没有显示/隐藏。

4

1 回答 1

1

这可能会有所帮助

https://bobsbiblog.wordpress.com/2014/08/25/creating-javascript-functions-in-active-reports/

这种技术的关键是标签,它是少数包含 onLoad 事件的标签之一。显示图像后立即触发此事件。

在报表的任何位置添加一个 HTML 项,只需确保它始终呈现在某个位置(在页面上,但不在任何卡片组内)。为 HTML 项提供以下文本:

<img src="hal/imagesirot/progress.gif" width="1" height="1" onload="
     while( ! alert) {} 
     /* Define the function */ 
     if (!document.testFunction ) { 
          testFunction = function() { 
               alert('We are running the test function'); 
          } 
     } 
     /* Run any startup actions */ 
     testFunction(); 
"/>
于 2019-07-15T18:42:57.957 回答