Cognos 中 javascript jQuery 的使用

來源:互聯網
上載者:User
http://www.kuitao8.com/20140730/2884.shtml
在做Cognos report 修改過程中遇到的幾個jQuery 問題 Business Intelligence & bigdata 作為商業發展的重要引擎在企業決策中起到了重要的作用,而這些個所有的資訊都需要視覺化檢視才能夠呈現給終端使用者,不管使用的工具是付費還是開源架構。 在我們項目中我們使用的是IBM 的 付費工具Cognos。 Cognos作為商業智慧工具提供了強大的報表展示功能 ,在現在項目中我們主要使用了兩個分析功能 1. 直接使用SQL 從資料庫為報表提供資料 ,這種做法簡單,但不易於維護和大量使用。在本文中我們將著重介紹下在這種使用方法下我們jQuery啟的作用 2.另外一個就是按部就班的使用Framework 和 Transformer 建 package ,model cube ,mdl 檔案 以及最後產生 mdc 檔案 以及 dashboard 等 ,本流程過於複雜但是合乎規矩,不是本文討論的重點
接下來我們 討論下第一種情況 : 下圖描述就是使用sql 直接為報表提供資料情況

在項目中可能遇到的一個情況就是從資料庫提供的基礎資料,如果存在空格或是一些個其他的影響頁面展示效果的資料我們需要使用某些個方法修複下 而在這種情況下我們還是有多種方法暫時叫清洗資料的 1.直接在我們上圖的SQL清洗把 不需要的資料去掉 ,或增加需要的資料 2.把未經處理資料原始的展示在我們的頁面上,等整個page 頁面載入完成後 我們在通過js 進行頁面的修複
在我們的一些個項目中我們上述提到的方法都有所覆蓋。第一種方法 只有對sql 所有瞭解 就能通過函數達到想要的效果 ;第二種方法如果有html 基礎也不算難以實現 ,但是對我們做BI和大資料的同學來說還是需要付出不瞭解流程的代價的 。本文就是簡單說明下我們在整個調整過程遇到的幾個問題,以期望能夠達到在後面的開發使用中不再或少再範相同的錯誤。
Cognow 作為report 展示工具 ,其原理依然是依賴於html 的,所以在html 使用 jQuery 也就不是什麼新鮮問題了 ,畢竟其有強大的功能。 下面是我們在cognos page 開發中的一個縮影 首先我們需要在頁面中引入 jQuery 包 等 ,後面再使用我們自己定義的function 函數等jQuery 資訊,範的第一個錯誤就是 jQuery 包必須在我們定義的function 之前 。ballshit ,right
第二個問題 那就是必須引入jQuery 包了 第三個問題 就是文法問題了 ,現在上菜一段小代碼:
<script language=javascript type='text/javascript'> jQuery.noConflict();
jQuery(document).ready(function() { //jQuery(window).ready(function() 。。
if(jQuery("#Gamma-kappa span").html()=='Gamma'){ //根據html Gamma-kappa span 標籤找到 值 Gamma jQuery('#html 標籤').html(jQuery('#html 標籤').html().replace(/&lt;span&gt;/g,'')); //根據標籤尋找html 頁面並發出replace 命令 jQuery('#html 標籤').html(jQuery('#html 標籤').html().replace(/&lt;span&gt;/g,'')); jQuery("#html 標籤").each(function(){ jQuery(this).html(jQuery(this).html().replace(/&lt;span&gt;/g,'<span>')) }) }
});
</script>
以上就是今天的簡單分享 ,眾所周知 jQuery 功能強大,要想在此領域有所收穫需要精心耕耘。
補充 : 一下內容摘自 : http://www.w3school.com.cn/jquery/jquery_noconflict.asp
jQuery.noConflict(); 是什麼意思 : 如何在頁面上同時使用 jQuery 和其他架構。 jQuery 和其他 JavaScript 架構 正如您已經瞭解到的,jQuery 使用 $ 符號作為 jQuery 的簡寫。 如果其他 JavaScript 架構也使用 $ 符號作為簡寫怎麼辦。 其他一些 JavaScript 架構套件括:MooTools、Backbone、Sammy、Cappuccino、Knockout、JavaScript MVC、Google Web Toolkit、Google Closure、Ember、Batman 以及 Ext JS。 其中某些架構也使用 $ 符號作為簡寫(就像 jQuery),如果您在用的兩種不同的架構正在使用相同的簡寫符號,有可能導致指令碼停止運行。 jQuery 的團隊考慮到了這個問題,並實現了 noConflict() 方法。 jQuery noConflict() 方法 noConflict() 方法會釋放會 $ 標識符的控制,這樣其他指令碼就可以使用它了。 執行個體 當然,您仍然可以通過全名替代簡寫的方式來使用 jQuery: $.noConflict();jQuery(document).ready(function(){ jQuery("button").click(function(){ jQuery("p").text("jQuery 仍在運行。"); });});
執行個體 您也可以建立自己的簡寫。noConflict() 可返回對 jQuery 的引用,您可以把它存入變數,以供稍後使用。請看這個例子: var jq = $.noConflict();jq(document).ready(function(){ jq("button").click(function(){ jq("p").text("jQuery 仍在運行。"); });}); 執行個體 如果你的 jQuery 代碼塊使用 $ 簡寫,並且您不願意改變這個捷徑,那麼您可以把 $ 符號作為變數傳遞給 ready 方法。這樣就可以在函數內使用 $ 符號了 - 而在函數外,依舊不得不使用 "jQuery": $.noConflict();jQuery(document).ready(function($){ $("button").click(function(){ $("p").text("jQuery 仍在運行。"); });});

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.