專利名稱:一種實(shí)現(xiàn)跨域請求回調(diào)的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)絡(luò)技術(shù)領(lǐng)域,具體涉及一種網(wǎng)頁上實(shí)現(xiàn)跨域請求回調(diào)的方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)的發(fā)展,電子信息化得到了很好的普及,基本的日常工作也實(shí)現(xiàn)了自動化操作。通常來說,一個獨(dú)立的系統(tǒng)往往無法滿足所有的業(yè)務(wù)需求,由此以來,就需要引入多個系統(tǒng)進(jìn)行操作,當(dāng)引入多個系統(tǒng)后,企業(yè)的用戶管理、組織機(jī)構(gòu)管理等將存在諸多的問題與不便,比如在A系統(tǒng)注冊的用戶,并不能登錄B系統(tǒng)。只要涉及此種需求的系統(tǒng),都存在以上的問題。當(dāng)然,目前解決辦法有一些,比如單點(diǎn)登錄系統(tǒng)、企業(yè)應(yīng)用集成系統(tǒng)、LDAP系統(tǒng)等, 但是,這些技術(shù)的實(shí)現(xiàn)非常復(fù)雜,而且會對現(xiàn)有產(chǎn)品的實(shí)現(xiàn)結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)進(jìn)行重改,才能滿足集成的需求。此項技術(shù)難度很大,而且在短時間內(nèi)難以成熟,這樣必然會給企業(yè)系統(tǒng)帶來很多漏洞與隱患。簡單的方法也有一些,比如通過網(wǎng)頁代理方式進(jìn)行處理、post請求、get請求等, 這些方法均是通過補(bǔ)救方式實(shí)現(xiàn),過程中需要傳入大量參數(shù)并且需要對這些參數(shù)進(jìn)行解析,解析后又放入某個緩沖區(qū)(如數(shù)據(jù)庫、硬盤或者內(nèi)存等),原網(wǎng)頁需要定時讀取這個解析以達(dá)到更新的目的,非常浪費(fèi)服務(wù)器和客戶端的資源,并沒有在完全意義上做到跨域的請求回調(diào)。
發(fā)明內(nèi)容
本發(fā)明提供了一種實(shí)現(xiàn)跨域請求回調(diào)的方法,實(shí)現(xiàn)了無需下載任何控件及第三方應(yīng)用框架和應(yīng)用系統(tǒng)的支撐并且操作方便。為了達(dá)到上述目的,本發(fā)明的技術(shù)方案為一種網(wǎng)頁上實(shí)現(xiàn)跨域請求回調(diào)的方法,包括以下步驟1)源用戶打開本站網(wǎng)頁,本站網(wǎng)頁通過網(wǎng)頁框架加載外站網(wǎng)頁;2)所加載的外站網(wǎng)頁自動生成網(wǎng)頁框架,并在框架上加載本站的回調(diào)處理頁面;3)當(dāng)外站網(wǎng)頁進(jìn)行處理需要改變本站網(wǎng)頁內(nèi)容時,通過更改內(nèi)嵌的框架鏈接地址和參數(shù)告知所嵌入本站網(wǎng)頁回調(diào)處理頁面需要進(jìn)行處理的內(nèi)容;4)本站網(wǎng)頁回調(diào)處理頁面在接收到處理指令后,調(diào)用自己父級的父級網(wǎng)頁即本站原網(wǎng)頁的處理函數(shù),對本站網(wǎng)頁進(jìn)行操作,即實(shí)現(xiàn)網(wǎng)頁上跨域請求回調(diào)。上述技術(shù)方案中,步驟1)包含如下過程源用戶打開本站網(wǎng)頁,本站網(wǎng)頁通過網(wǎng)頁iframe組件加載外站網(wǎng)頁。上述技術(shù)方案中,步驟幻包含如下過程2a)所加載外站網(wǎng)頁加載成功后,通過document. createElement方法創(chuàng)建iframe 組件,并通過document. appendChi Id方法將所創(chuàng)建的iframe方法添加到網(wǎng)頁中;2b) iframe添加到頁面后,通過更改iframe的src屬性,將iframe內(nèi)容指向本站的同域名的回調(diào)處理頁面,并在src參數(shù)中傳遞本站原網(wǎng)頁回調(diào)處理函數(shù)名。上述技術(shù)方案中,步驟幻包含如下過程當(dāng)外站網(wǎng)頁進(jìn)行業(yè)務(wù)處理,需要對本站網(wǎng)頁內(nèi)容進(jìn)行更改時,調(diào)用網(wǎng)頁 JavaScript函數(shù),更改嵌入本站回調(diào)頁面的iframe組件的src屬性,并在src參數(shù)中傳遞需要處理的本站原網(wǎng)頁回調(diào)處理函數(shù)名稱。上述技術(shù)方案中,步驟4)包含如下過程本站網(wǎng)頁回調(diào)處理頁面在加載時,會自動檢測URL參數(shù)所傳遞過來的回調(diào)函數(shù)名,通過調(diào)用父窗口的父窗口函數(shù)執(zhí)行JavaScript,由于父窗口的父窗口和本頁面是屬于同一域,所以有權(quán)限對本站網(wǎng)頁進(jìn)行操作,即實(shí)現(xiàn)網(wǎng)頁上跨域請求回調(diào)。本發(fā)明與現(xiàn)有技術(shù)相比具有以下優(yōu)點(diǎn)1)利用網(wǎng)頁自身組件進(jìn)行實(shí)現(xiàn),不需要下載任何控件,不需要第三方應(yīng)用進(jìn)行支撐。2)通過連鎖回調(diào)機(jī)制,反應(yīng)迅速,用戶體驗好。3)實(shí)現(xiàn)原理簡單,完全基于網(wǎng)頁,不需要下載任何插件,綠色、環(huán)保,可廣泛運(yùn)用于網(wǎng)絡(luò)會議、遠(yuǎn)程教育等互聯(lián)網(wǎng)應(yīng)用中。
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖1是本發(fā)明的詳細(xì)流程圖。
具體實(shí)施例方式以下將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互組合。一種網(wǎng)頁上實(shí)現(xiàn)跨域請求回調(diào)的方法,包括以下步驟1)源用戶打開本站網(wǎng)頁,本站網(wǎng)頁通過網(wǎng)頁框架加載外站網(wǎng)頁;2)所加載的外站網(wǎng)頁自動生成網(wǎng)頁框架,并在框架上加載本站的回調(diào)處理頁面;3)當(dāng)外站網(wǎng)頁進(jìn)行處理需要改變本站網(wǎng)頁內(nèi)容時,通過更改內(nèi)嵌的框架鏈接地址和參數(shù)告知所嵌入本站網(wǎng)頁回調(diào)處理頁面需要進(jìn)行處理的內(nèi)容;4)本站網(wǎng)頁回調(diào)處理頁面在接收到處理指令后,調(diào)用自己父級的父級網(wǎng)頁即本站原網(wǎng)頁的處理函數(shù),對本站網(wǎng)頁進(jìn)行操作,即實(shí)現(xiàn)網(wǎng)頁上跨域請求回調(diào)。下面進(jìn)一步詳細(xì)說明本發(fā)明所述的方法參見說明書附圖,源用戶打開本站網(wǎng)頁,本站網(wǎng)頁通過網(wǎng)頁iframe組件加載外站網(wǎng)頁;所加載外站網(wǎng)頁加載成功后,通過document. createElement方法創(chuàng)建iframe組件, 并通過document. appendChild方法將所創(chuàng)建的iframe方法添加到網(wǎng)頁中;iframe添加到頁面后,通過更改iframe的src屬性,將iframe內(nèi)容指向本站的回調(diào)處理頁面,并在src參數(shù)中傳遞本站原網(wǎng)頁回調(diào)處理函數(shù)名;當(dāng)外站網(wǎng)頁進(jìn)行業(yè)務(wù)處理,需要對本站網(wǎng)頁內(nèi)容進(jìn)行更改時,調(diào)用網(wǎng)頁JavMcript函數(shù),更改嵌入本站回調(diào)頁面的iframe組件的src屬性, 并在src參數(shù)中傳遞需要處理的本站原網(wǎng)頁回調(diào)處理函數(shù)名稱;本站網(wǎng)頁回調(diào)處理頁面在加載時,會自動檢測URL參數(shù)所傳遞過來的回調(diào)函數(shù)名,通過調(diào)用父窗口的父窗口函數(shù)執(zhí)行Jav必cript,由于回調(diào)處理頁面和本頁面屬于同一域,所以以權(quán)限對本站網(wǎng)頁進(jìn)行操作, 即實(shí)現(xiàn)網(wǎng)頁上跨域請求回調(diào)。圖1是本發(fā)明的詳細(xì)流程圖,詳細(xì)步驟如下步驟101 開始;步驟102 源用戶打開本站網(wǎng)頁,本站網(wǎng)頁通過網(wǎng)頁框架加載外站網(wǎng)頁;步驟103 外站網(wǎng)頁通過網(wǎng)頁框架加載本站回調(diào)處理頁面;步驟104 外站網(wǎng)頁改變本站回調(diào)處理頁面地址并傳入相應(yīng)的處理參數(shù);步驟105 回調(diào)處理頁面接收參數(shù)進(jìn)行處理,調(diào)用回調(diào)處理頁面父級的父級的本站網(wǎng)頁的處理函數(shù)對本站網(wǎng)頁進(jìn)行操作本站網(wǎng)頁內(nèi)容,即實(shí)現(xiàn)網(wǎng)頁上跨域請求回調(diào);步驟106:結(jié)束。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實(shí)現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種實(shí)現(xiàn)跨域請求回調(diào)的方法,其特征在于,包括以下步驟1)源用戶打開本站網(wǎng)頁,本站網(wǎng)頁通過網(wǎng)頁框架加載外站網(wǎng)頁;2)所加載的外站網(wǎng)頁自動生成網(wǎng)頁框架,并在框架上加載本站的回調(diào)處理頁面;3)當(dāng)外站網(wǎng)頁進(jìn)行處理需要改變本站網(wǎng)頁內(nèi)容時,通過更改內(nèi)嵌的框架鏈接地址和參數(shù)告知所嵌入本站網(wǎng)頁回調(diào)處理頁面需要進(jìn)行處理的內(nèi)容;4)本站網(wǎng)頁回調(diào)處理頁面在接收到處理指令后,調(diào)用自己父級的父級網(wǎng)頁即本站原網(wǎng)頁的處理函數(shù),對本站網(wǎng)頁進(jìn)行操作,即實(shí)現(xiàn)網(wǎng)頁上跨域請求回調(diào)。
2.如權(quán)利要求1所述的方法,其特征在于,其中步驟1)包含如下過程源用戶打開本站網(wǎng)頁,本站網(wǎng)頁通過網(wǎng)頁iframe組件加載外站網(wǎng)頁。
3.如權(quán)利要求1所述的方法,其特征在于,其中步驟2)包含如下過程2a)所加載外站網(wǎng)頁加載成功后,通過document. createElement方法創(chuàng)建iframe組件,并通過document. appendChild方法將所創(chuàng)建的iframe方法添加到網(wǎng)頁中;2b) iframe添加到頁面后,通過更改iframe的src屬性,將iframe內(nèi)容指向本站的同域名的回調(diào)處理頁面,并在src參數(shù)中傳遞本站原網(wǎng)頁回調(diào)處理函數(shù)名。
4.如權(quán)利要求1所述的方法,其特征在于,其中步驟3)包含如下過程當(dāng)外站網(wǎng)頁進(jìn)行業(yè)務(wù)處理,需要對本站網(wǎng)頁內(nèi)容進(jìn)行更改時,調(diào)用網(wǎng)頁JavMcript函數(shù),更改嵌入本站回調(diào)頁面的iframe組件的src屬性,并在src參數(shù)中傳遞需要處理的本站原網(wǎng)頁回調(diào)處理函數(shù)名稱。
5.如權(quán)利要求1所述的方法,其特征在于,其中步驟4)包含如下過程本站網(wǎng)頁回調(diào)處理頁面在加載時,會自動檢測URL參數(shù)所傳遞過來的回調(diào)函數(shù)名,通過調(diào)用父窗口的父窗口函數(shù)執(zhí)行JavaScript,由于父窗口的父窗口和本頁面是屬于同一域,所以有權(quán)限對本站網(wǎng)頁進(jìn)行操作,即實(shí)現(xiàn)網(wǎng)頁上跨域請求回調(diào)。
6.一種實(shí)現(xiàn)跨越請求回調(diào)的方法,其特征在于源用戶在本站網(wǎng)頁內(nèi)加載外站網(wǎng)頁并在所述外站網(wǎng)頁上加載本站的回調(diào)處理頁面;當(dāng)所述外站網(wǎng)頁進(jìn)行處理需要改變所述本站網(wǎng)頁內(nèi)容時,通知所嵌入的本站網(wǎng)頁回調(diào)處理頁面;所述本站網(wǎng)頁回調(diào)處理頁面調(diào)用自己父級的父級網(wǎng)頁即本站原網(wǎng)頁的處理函數(shù),對所述本站網(wǎng)頁進(jìn)行操作,實(shí)現(xiàn)網(wǎng)頁上跨域請求回調(diào)。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于所述源用戶打開所述本站網(wǎng)頁,所述本站網(wǎng)頁通過網(wǎng)頁框架加載所述外站網(wǎng)頁;所加載的所述外站網(wǎng)頁自動生成網(wǎng)頁框架,并在框架上加載本站的回調(diào)處理頁面。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于當(dāng)所述外站網(wǎng)頁進(jìn)行處理需要改變本站網(wǎng)頁內(nèi)容時,通過更改內(nèi)嵌的框架鏈接地址和參數(shù)告知所嵌入本站網(wǎng)頁回調(diào)處理頁面需要進(jìn)行處理的內(nèi)容。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于所述本站網(wǎng)頁回調(diào)處理頁面在接收到處理指令后,調(diào)用自己父級的父級網(wǎng)頁即本站原網(wǎng)頁的處理函數(shù),對所述本站網(wǎng)頁進(jìn)行操作, 實(shí)現(xiàn)網(wǎng)頁上跨域請求回調(diào)。
10.根據(jù)權(quán)利要求7所述的方法,其特征在于所述源用戶打開所述本站網(wǎng)頁,所述本站網(wǎng)頁通過網(wǎng)頁框架加載所述外站網(wǎng)頁的過程為所述源用戶打開所述本站網(wǎng)頁,所述本站網(wǎng)頁通過網(wǎng)頁iframe組件加載所述外站網(wǎng)頁;所加載的所述外站網(wǎng)頁自動生成網(wǎng)頁框架,并在框架上加載本站的回調(diào)處理頁面的過程為所加載外站網(wǎng)頁加載成功后,通過 document. createElement 方法倉鍵 iframe 組件,并通過 document. appendChild 方法將所創(chuàng)建的iframe方法添加到網(wǎng)頁中;iframe添加到頁面后,通過更改iframe的src屬性,將 iframe內(nèi)容指向本站的同域名的回調(diào)處理頁面,并在src參數(shù)中傳遞本站原網(wǎng)頁回調(diào)處理函數(shù)名。
全文摘要
本發(fā)明屬于網(wǎng)絡(luò)技術(shù)領(lǐng)域,具體涉及一種實(shí)現(xiàn)跨域請求回調(diào)的方法,包括以下步驟源用戶打開本站網(wǎng)頁,本站網(wǎng)頁通過網(wǎng)頁框架加載外站網(wǎng)頁,在所加載的外站網(wǎng)頁中自動生成網(wǎng)頁框架并加載本站的回調(diào)處理頁面,當(dāng)外站網(wǎng)頁進(jìn)行處理需要改變本站網(wǎng)頁內(nèi)容時,通過更改內(nèi)嵌的框架鏈接地址和參數(shù)告知所嵌入本站網(wǎng)頁回調(diào)處理頁面需要進(jìn)行處理的內(nèi)容,所嵌入的本站網(wǎng)頁回調(diào)處理頁面在接收到處理指令后,調(diào)用自己父級的父級網(wǎng)頁處理函數(shù)對本站網(wǎng)頁進(jìn)行操作,即可實(shí)現(xiàn)網(wǎng)頁上跨域請求回調(diào)。該方法完全基于網(wǎng)頁實(shí)現(xiàn),通過網(wǎng)頁本身的框架組件進(jìn)行嵌套實(shí)現(xiàn),無需第三方的應(yīng)用系統(tǒng)進(jìn)行支撐處理,方便、快捷、高效。
文檔編號G06F17/30GK102314469SQ20111005996
公開日2012年1月11日 申請日期2011年3月14日 優(yōu)先權(quán)日2010年11月23日
發(fā)明者胡加明 申請人:蘇州闊地網(wǎng)絡(luò)科技有限公司