我们如何在mht文件中使用JQuery?

时间:2015-05-06 12:34:55

标签: jquery firefox cognos cognos-10 mhtml

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

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

这是我在report studio中的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>

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

1 个答案:

答案 0 :(得分: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(); 
"/>