成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

CRM WebClient UI的瀏覽器打印實(shí)現(xiàn)

dingding199389 / 2505人閱讀

摘要:按住之后,會(huì)觸發(fā)框架的按鍵響應(yīng)函數(shù)。瀏覽器傳入的事件處理對(duì)象里屬性為,為按鍵對(duì)應(yīng)的,意思就是和同時(shí)按下。這個(gè)響應(yīng)函數(shù)被注冊(cè)到整個(gè)對(duì)象上,因此您在頁(yè)面任何位置點(diǎn)擊都能得到響應(yīng)。就是自己封裝的事件注冊(cè)函數(shù),用于多瀏覽器的兼容支持。

WebClient UI上自帶了一個(gè)打印按鈕,按Ctrl + P后可以生成一個(gè)新的頁(yè)面供打印。


如下圖所示??梢钥吹竭@個(gè)頁(yè)面里所有的超鏈接都已經(jīng)被移除了。

這個(gè)頁(yè)面的生成邏輯如下。

1. 按住ctrl + p之后,會(huì)觸發(fā)WebClient UI框架的按鍵響應(yīng)函數(shù)thtmlbKeyDown。瀏覽器傳入的事件處理對(duì)象里ctrl屬性為true,keycode為80(按鍵p對(duì)應(yīng)的code),意思就是ctrl和p同時(shí)按下。

這個(gè)響應(yīng)函數(shù)thtmlbKeyDown被注冊(cè)到整個(gè)document對(duì)象上,因此您在頁(yè)面任何位置點(diǎn)擊ctrl+p都能得到響應(yīng)。

從右上角的調(diào)用棧能發(fā)現(xiàn)crmFrwPrint被調(diào)用。crmFrwPrint會(huì)打開(kāi)print.do這個(gè)控制器,位于BSP應(yīng)用bspwd_basics里。

2. 打開(kāi)print.do控制器的實(shí)現(xiàn)類(lèi)CL_BSPWD_BASICS_PRINT

這個(gè)控制器會(huì)打開(kāi)print.html頁(yè)面

3. 我們按了ctrl+p后生成的頁(yè)面的內(nèi)容就是在print.html里生成的。核心代碼在函數(shù)ppStartScripts里,被thtmlbRegisterOnLoad注冊(cè)到頁(yè)面的load事件里,意思是print.html加載時(shí)就執(zhí)行。


thtmlUtil.addEventHandler就是SAP自己封裝的事件注冊(cè)函數(shù),用于多瀏覽器的兼容支持。

最核心的兩個(gè)函數(shù):

CreateShield

生成一個(gè)height和width為100%的div,背景圖片設(shè)置成SAP預(yù)定義好的1x1.gif。

運(yùn)行時(shí)顯示如下:

loadPage

通過(guò)window.opener拿到發(fā)生了ctrl+p按鍵的原始頁(yè)面,然后把其th-l-wcsubheadercontainer下面的所有元素的html直接復(fù)制到打印輸出頁(yè)面的header元素下面。

這樣就實(shí)現(xiàn)了把原始頁(yè)面的內(nèi)容搬到了打印輸出頁(yè)面。

然后得到打印頁(yè)面所有超鏈接標(biāo)簽,然后把這些標(biāo)簽的href和onclick都置為一個(gè)函數(shù)體為return false的函數(shù),這樣超鏈接就不再能點(diǎn)擊。

var?nirvana?=?new?Function?(?"return?false;"?);

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/94474.html

相關(guān)文章

  • 如何證明CRM WebClient UI應(yīng)用是有狀態(tài)(Stateful)

    摘要:隨便找一個(gè)在里會(huì)被頻繁調(diào)用到的函數(shù),在函數(shù)里創(chuàng)建一個(gè)隱式增強(qiáng),打印當(dāng)前的會(huì)話。不關(guān)閉瀏覽器,在瀏覽器里不斷做操作,可以觀察到不管做任何操作,每次斷點(diǎn)出發(fā)后,打印出來(lái)的會(huì)話都相同。每次觸發(fā)打印出的會(huì)話都相同 隨便找一個(gè)在CRM WebClient UI里會(huì)被頻繁調(diào)用到的函數(shù),在函數(shù)里創(chuàng)建一個(gè)隱式增強(qiáng),打印當(dāng)前的會(huì)話ID。 showImg(https://segmentfault.com/...

    騫諱護(hù) 評(píng)論0 收藏0
  • 如何證明CRM WebClient UI應(yīng)用是有狀態(tài)(Stateful)

    摘要:隨便找一個(gè)在里會(huì)被頻繁調(diào)用到的函數(shù),在函數(shù)里創(chuàng)建一個(gè)隱式增強(qiáng),打印當(dāng)前的會(huì)話。不關(guān)閉瀏覽器,在瀏覽器里不斷做操作,可以觀察到不管做任何操作,每次斷點(diǎn)出發(fā)后,打印出來(lái)的會(huì)話都相同。每次觸發(fā)打印出的會(huì)話都相同 隨便找一個(gè)在CRM WebClient UI里會(huì)被頻繁調(diào)用到的函數(shù),在函數(shù)里創(chuàng)建一個(gè)隱式增強(qiáng),打印當(dāng)前的會(huì)話ID。 showImg(https://segmentfault.com/...

    paney129 評(píng)論0 收藏0
  • 如何證明CRM WebClient UI應(yīng)用是有狀態(tài)(Stateful)

    摘要:隨便找一個(gè)在里會(huì)被頻繁調(diào)用到的函數(shù),在函數(shù)里創(chuàng)建一個(gè)隱式增強(qiáng),打印當(dāng)前的會(huì)話。不關(guān)閉瀏覽器,在瀏覽器里不斷做操作,可以觀察到不管做任何操作,每次斷點(diǎn)出發(fā)后,打印出來(lái)的會(huì)話都相同。每次觸發(fā)打印出的會(huì)話都相同 隨便找一個(gè)在CRM WebClient UI里會(huì)被頻繁調(diào)用到的函數(shù),在函數(shù)里創(chuàng)建一個(gè)隱式增強(qiáng),打印當(dāng)前的會(huì)話ID。 showImg(https://segmentfault.com/...

    rainyang 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

dingding199389

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<