日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
使用js callback機(jī)制實(shí)現(xiàn)調(diào)用頁(yè)面局部刷新

需求描述:審批表單頁(yè)面由我的待辦工作中打開(kāi),辦理完畢后希望關(guān)閉該頁(yè)面并且實(shí)現(xiàn)我待辦表格的實(shí)時(shí)刷新;同時(shí)該需求也同樣適用于從某些工作流管理模塊中需要發(fā)起審批的情況,比如招聘需求模塊中發(fā)起錄用流程;我的績(jī)效管理中審批績(jī)效等。

創(chuàng)新互聯(lián)建站專(zhuān)注于企業(yè)成都營(yíng)銷(xiāo)網(wǎng)站建設(shè)、網(wǎng)站重做改版、洛隆網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、成都商城網(wǎng)站開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為洛隆等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

我們先來(lái)看看之前的實(shí)現(xiàn),該邏輯實(shí)現(xiàn)的功能是,從我待辦列表中發(fā)起審批,審批結(jié)束后直接在當(dāng)前頁(yè)面,也就是審批頁(yè)面跳轉(zhuǎn)至一個(gè)新的oa主頁(yè)面,并且打開(kāi)我的工作-我待辦的頁(yè)簽,實(shí)現(xiàn)方法如下:

 
 
  1. $("#but_back").bind("click", function() { 
  2.         window.top.opener=null; 
  3.         var url = window.location.href; 
  4.         var isoa=url.indexOf('phicomm.com'); 
  5.         //var isoatest=url.indexOf('oatest.phicomm.com'); 
  6.         var curWwwPath=window.document.location.href;  
  7.         var pathName=window.document.location.pathname;  
  8.         var pos=curWwwPath.indexOf(pathName);  
  9.         var localhostPaht=curWwwPath.substring(0,pos);  
  10.         var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1); 
  11.         if(isoa>0){ 
  12.             window.top.open(localhostPaht+'/main/index.action?tableName=mywork','_self'); 
  13.         }else{ 
  14.             window.top.open(localhostPaht+projectName+'/main/index.action?tableName=mywork','_self'); 
  15.         } 
  16.     }); 

桌面js的處理邏輯:

 
 
  1. $(document).ready(function($){ 
  2.     // 初始化圖標(biāo) 
  3.     initModules(initMenus()); 
  4.       
  5.     refixAppPos(); 
  6.     // 注冊(cè)事件 
  7.     regClick(); 
  8.       
  9.     sortable(); 
  10.    initIcoRemove(); 
  11.       
  12.     initAppManager(); 
  13.     //解析當(dāng)前URL判斷是否需要跳轉(zhuǎn)制定Table 
  14.     gotoTable(); 
  15. }); 
  16.   
  17. //跳轉(zhuǎn)制定Table 
  18. function gotoTable(){ 
  19.     var tableName = request("tableName"); 
  20.     if(""!=tableName&&null!=tableName&&'undefined'!=tableName){ 
  21.         openUrl($("#desktop_content_icon_"+tableName)); 
  22.     } 

 以上方法雖然實(shí)現(xiàn)了辦理結(jié)束后跳至我的待辦的功能,但有以下缺陷:

跳轉(zhuǎn)是在新頁(yè)面中,并非在調(diào)用頁(yè)面,這樣就形成了調(diào)用和跳轉(zhuǎn)頁(yè)面兩個(gè)相同的桌面;

新的頁(yè)面并非與原調(diào)用頁(yè)面完全一致,調(diào)用頁(yè)面如打開(kāi)多個(gè)頁(yè)簽,新打開(kāi)的頁(yè)面相當(dāng)于將除我的待辦外的其他頁(yè)簽關(guān)閉,并不符合用戶的需求;

用戶體驗(yàn)不友好

我們使用js callback的實(shí)現(xiàn)如下,當(dāng)前頁(yè)面的調(diào)用頁(yè)面非空且未關(guān)閉時(shí),我們就直接調(diào)用頁(yè)面中的js方法實(shí)現(xiàn)其局部的刷新。

 
 
  1. /** 刷新父窗口關(guān)閉彈出窗口 */ 
  2.     function refreshAndClose(){ 
  3.         var jscallback = $.trim($("#jscallback").val()); 
  4.         var type = $.trim($("#type").val()); 
  5.         if (window.opener  && !window.opener.closed && jscallback!=null && jscallback!="") { 
  6.             if(!type){ 
  7.                 //本頁(yè)面的調(diào)用頁(yè)面執(zhí)行其嵌入或調(diào)用的js方法 
  8.                 eval("window.opener."+jscallback+"();"); 
  9.             } 
  10.             window.close();//當(dāng)前頁(yè)面關(guān)閉 
  11.         } else { 
  12.             window.top.opener=null; 
  13.             var url = window.location.href; 
  14.             var isoa=url.indexOf('phicomm.com'); 
  15.               
  16.             var curWwwPath=window.document.location.href;  
  17.             var pathName=window.document.location.pathname;  
  18.             var pos=curWwwPath.indexOf(pathName);  
  19.             var localhostPaht=curWwwPath.substring(0,pos);  
  20.             var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1); 
  21.             if(isoa>0){ 
  22.                   
  23.                 window.top.open(localhostPaht+'/main/index.action?tableName=mywork','_self'); 
  24.             }else{ 
  25.                 window.top.open(localhostPaht+projectName+'/main/index.action?tableName=mywork','_self'); 
  26.             } 
  27.         } 
  28.     }

調(diào)用頁(yè)面js:grid即為需要局部刷新的表格。

 
 
  1. function openUrl(url){ 
  2.     url=url+"&jscallback=callsus" 
  3.          window.open(url,'_blank');    
  4. function callsus(){ 
  5.     $('#performanceDataGrid').reload(); 
  6. }

通過(guò)js callback實(shí)現(xiàn)了調(diào)用頁(yè)面的局部刷新,并對(duì)其他應(yīng)用的類(lèi)似功能具有一定的指導(dǎo)和參考意義。

本文出自 “南湖礦工技術(shù)空間” 博客,請(qǐng)務(wù)必保留此出處http://jncumter.blog./812546/1623739


當(dāng)前文章:使用js callback機(jī)制實(shí)現(xiàn)調(diào)用頁(yè)面局部刷新
文章地址:http://m.5511xx.com/article/dhccphi.html