一種網(wǎng)頁跨域通信方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種網(wǎng)頁跨域通信方法和裝置。所述方法包括:具備第一根域名的第一頁面在所述第一頁面中以嵌入的方式加載具備第二根域名的第二頁面;所述第二頁面將源自第二根域名的目標數(shù)據(jù)添加到預(yù)置的第三頁面中,并跳轉(zhuǎn)到所述第三頁面,所述第三頁面的根域名為第一根域名;所述第三頁面提取包含的所述源自第二根域名的目標數(shù)據(jù),并保存到具備第一根域名的頁面可訪問的存儲空間;所述第一頁面從所述存儲空間中讀取所述源自第二根域名的目標數(shù)據(jù)。本發(fā)明解決了瀏覽器中跨域網(wǎng)頁之間的通信問題,可以實現(xiàn)跨域傳輸文件、數(shù)據(jù)共享和同步數(shù)據(jù),同時降低了開發(fā)成本,減少了不同根域名之間的相互嵌套問題。
【專利說明】一種網(wǎng)頁跨域通信方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)頁處理【技術(shù)領(lǐng)域】,具體涉及一種網(wǎng)頁跨域通信方法,以及一種網(wǎng)頁跨域通信裝置。
【背景技術(shù)】
[0002]為了避免網(wǎng)頁之間互相干擾造成的安全問題,在JavaScript中,有一個很重要的安全性限制,被稱為同源策略(Same-Origin Policy),同源策略阻止從一個源加載的文檔或腳本獲取或設(shè)置另一個源加載的文檔的屬性。
[0003]例如,瀏覽器的兩個tab頁中分別打開了 http://www.#/index, html和http://www.qiho0.com/index, html,其中,JavaScriptl 和 JavaScript3 是屬于 sina 的腳本,而JavaScript〗是屬于163的腳本,當瀏覽器的tabl要運行一個腳本時,便會進行同源檢查,只有和WWW.360.com同源的腳本才能被執(zhí)行。所以,tabl只能執(zhí)行JavaScriptl和JavaScript3腳本,而JavaScript2不能執(zhí)行,從而防止其他網(wǎng)頁對本網(wǎng)頁的非法篡改。
[0004]目前,支持JavaScript的瀏覽器普遍都使用了同源策略,這種策略阻止了不同源的網(wǎng)頁之間的數(shù)據(jù)通信,丟失了跨域數(shù)據(jù)傳遞的便捷性。
【發(fā)明內(nèi)容】
[0005]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題的網(wǎng)頁跨域通信方法和相應(yīng)的網(wǎng)頁跨域通信裝置。
[0006]依據(jù)本發(fā)明的一個方面,提供了一種網(wǎng)頁跨域通信方法,包括:
[0007]具備第一根域名的第一頁面在所述第一頁面中以嵌入的方式加載具備第二根域名的第二頁面;
[0008]所述第二頁面將源自第二根域名的目標數(shù)據(jù)添加到預(yù)置的第三頁面中,并跳轉(zhuǎn)到所述第三頁面,所述第三頁面的根域名為第一根域名;
[0009]所述第三頁面提取包含的所述源自第二根域名的目標數(shù)據(jù),并保存到具備第一根域名的頁面可訪問的存儲空間;
[0010]所述第一頁面從所述存儲空間中讀取所述源自第二根域名的目標數(shù)據(jù)。
[0011 ] 可選地,所述具備第一根域名的第一頁面在所述第一頁面中以嵌入的方式加載具備第二根域名的第二頁面包括:
[0012]所述第一頁面向第二根域名對應(yīng)的第二服務(wù)器發(fā)送數(shù)據(jù)處理請求;
[0013]在發(fā)送所述數(shù)據(jù)處理請求之后,所述第一頁面中預(yù)置的嵌入頁面加載所述第二頁面的頁面地址,得到第二頁面。
[0014]可選地,所述第一頁面中包含表單元素,所述表單元素的目標源地址為所述第二頁面的頁面地址,所述嵌入頁面預(yù)置在所述表單元素中。
[0015]可選地,所述第一頁面向第二根域名對應(yīng)的第二服務(wù)器發(fā)送數(shù)據(jù)處理請求包括:
[0016]所述第一頁面的表單元素向所述第二服務(wù)器發(fā)送向所述第二服務(wù)器上傳數(shù)據(jù)的post請求,所述post請求攜帶請求處理的數(shù)據(jù);
[0017]或,所述第一頁面的表單元素向所述第二服務(wù)器發(fā)送從所述第二服務(wù)器獲取數(shù)據(jù)的get請求,所述get請求攜帶請求處理的數(shù)據(jù)。
[0018]可選地,所述第一頁面中預(yù)置的嵌入頁面加載所述第二頁面的頁面地址,得到第二頁面包括:
[0019]所述表單元素中的嵌入頁面加載所述表單元素的目標源地址,得到第二頁面。
[0020]可選地,所述目標數(shù)據(jù)包括所述第二根域名對應(yīng)的服務(wù)器針對所述第一頁面發(fā)送的數(shù)據(jù)處理請求得到的全部數(shù)據(jù)處理結(jié)果、部分數(shù)據(jù)處理結(jié)果或所述數(shù)據(jù)處理結(jié)果的屬性信息。
[0021]可選地,所述第二頁面將源自第二根域名的目標數(shù)據(jù)添加到預(yù)置的第三頁面中,并跳轉(zhuǎn)到所述第三頁面包括:
[0022]所述第二頁面根據(jù)所述目標數(shù)據(jù)對應(yīng)在所述第一根域名對應(yīng)的第一服務(wù)器或所述第二服務(wù)器的存儲地址與所述第一根域名組織第三頁面的頁面地址;
[0023]所述第二頁面根據(jù)組織的頁面地址跳轉(zhuǎn)到第三頁面。
[0024]可選地,所述第三頁面提取包含的所述源自第二根域名的目標數(shù)據(jù)包括:
[0025]所述第三頁面從所述第三頁面的頁面地址中提取所述源自第二根域名的目標數(shù)據(jù)對應(yīng)的存儲地址;
[0026]根據(jù)所述存儲地址,從所述第一服務(wù)器或所述第二服務(wù)器中提取目標數(shù)據(jù)。
[0027]可選地,所述保存到具備第一根域名的頁面可訪問的存儲空間包括:
[0028]將所述源自第二根域名的目標數(shù)據(jù)保存到本地針對所述第一根域名劃分的、以所述第一根域名為標識的存儲空間;
[0029]或,將所述源自第二根域名的目標數(shù)據(jù)以文件的方式保存到本地的存儲空間,并在文件目錄中記錄所述目標數(shù)據(jù)的文件名稱。
[0030]可選地,所述方法還包括:
[0031]在將所述目標數(shù)據(jù)保存到具備第一根域名的頁面可訪問的存儲空間之后,或在所述第三頁面加載完成之后,所述第三頁面觸發(fā)嵌入頁面加載完成事件。
[0032]可選地,所述第一頁面從所述存儲空間中讀取所述源自第二根域名的目標數(shù)據(jù)包括:
[0033]所述第一頁面監(jiān)控到所述嵌入頁面加載完成事件時,從所述存儲空間中讀取所述源自第二根域名的目標數(shù)據(jù)。
[0034]根據(jù)本發(fā)明的另一方面,提供了一種網(wǎng)頁跨域通信裝置,包括第一頁面、第二頁面和第三頁面;
[0035]所述第一頁面包括嵌入加載模塊;
[0036]所述嵌入加載模塊,用于具備第一根域名的第一頁面在所述第一頁面中以嵌入的方式加載具備第二根域名的第二頁面;
[0037]所述第二頁面包括數(shù)據(jù)添加模塊和頁面跳轉(zhuǎn)模塊;
[0038]所述數(shù)據(jù)添加模塊,用于所述第二頁面將源自第二根域名的目標數(shù)據(jù)添加到預(yù)置的第三頁面中,所述第三頁面的根域名為第一根域名;
[0039]所述頁面跳轉(zhuǎn)模塊,用于跳轉(zhuǎn)到所述第三頁面;
[0040]所述第三頁面包括數(shù)據(jù)提取模塊和數(shù)據(jù)保存模塊;
[0041]所述數(shù)據(jù)提取模塊,用于提取包含的所述源自第二根域名的目標數(shù)據(jù);
[0042]所述數(shù)據(jù)保存模塊,用于保存到具備第一根域名的頁面可訪問的存儲空間;
[0043]所述第一頁面還包括數(shù)據(jù)讀取模塊;
[0044]所述數(shù)據(jù)讀取模塊,用于所述第一頁面從所述存儲空間中讀取所述源自第二根域名的目標數(shù)據(jù)。
[0045]可選地,所述嵌入加載模塊包括:
[0046]數(shù)據(jù)處理請求發(fā)送子模塊,用于所述第一頁面向第二根域名對應(yīng)的第二服務(wù)器發(fā)送數(shù)據(jù)處理請求;
[0047]第二頁面加載子模塊,用于在發(fā)送所述數(shù)據(jù)處理請求之后,所述第一頁面中預(yù)置的嵌入頁面加載所述第二頁面的頁面地址,得到第二頁面。
[0048]可選地,所述第一頁面中包含表單元素,所述表單元素的目標源地址為所述第二頁面的頁面地址,所述嵌入頁面預(yù)置在所述表單元素中。
[0049]可選地,所述數(shù)據(jù)處理請求發(fā)送子模塊包括:
[0050]post請求發(fā)送子單元,用于所述第一頁面的表單元素向所述第二服務(wù)器發(fā)送向所述第二服務(wù)器上傳數(shù)據(jù)的post請求,所述post請求攜帶請求處理的數(shù)據(jù);
[0051]或,get請求發(fā)送子單元,用于所述第一頁面的表單元素向所述第二服務(wù)器發(fā)送從所述第二服務(wù)器獲取數(shù)據(jù)的get請求,所述get請求攜帶請求處理的數(shù)據(jù)。
[0052]可選地,所述第二頁面加載子模塊,具體用于所述表單元素中的嵌入頁面加載所述表單元素的目標源地址,得到第二頁面。
[0053]可選地,所述目標數(shù)據(jù)包括所述第二根域名對應(yīng)的服務(wù)器針對所述第一頁面發(fā)送的數(shù)據(jù)處理請求得到的全部數(shù)據(jù)處理結(jié)果、部分數(shù)據(jù)處理結(jié)果或所述數(shù)據(jù)處理結(jié)果的屬性信息。
[0054]可選地,所述數(shù)據(jù)添加模塊,具體用于所述第二頁面根據(jù)所述目標數(shù)據(jù)對應(yīng)在所述第一根域名對應(yīng)的第一服務(wù)器或所述第二服務(wù)器的存儲地址與所述第一根域名組織第三頁面的頁面地址;
[0055]所述頁面跳轉(zhuǎn)模塊,具體用于所述第二頁面根據(jù)組織的頁面地址跳轉(zhuǎn)到第三頁面。
[0056]可選地,所述數(shù)據(jù)提取模塊包括:
[0057]存儲地址提取子模塊,用于從所述第三頁面的頁面地址中提取所述源自第二根域名的目標數(shù)據(jù);
[0058]服務(wù)器數(shù)據(jù)提取子模塊,用于根據(jù)所述存儲地址,從所述第一服務(wù)器或所述第二服務(wù)器中提取目標數(shù)據(jù)。
[0059]可選地,所述數(shù)據(jù)保存模塊,具體用于將所述源自第二根域名的目標數(shù)據(jù)保存到本地針對所述第一根域名劃分的、以所述第一根域名為標識的存儲空間;
[0060]或,所述數(shù)據(jù)保存模塊,具體用于將所述源自第二根域名的目標數(shù)據(jù)以文件的方式保存到本地的存儲空間,并在文件目錄中記錄所述目標數(shù)據(jù)的文件名稱。
[0061]可選地,所述第三頁面還包括:
[0062]事件觸發(fā)模塊,用于在將所述目標數(shù)據(jù)保存到具備第一根域名的頁面可訪問的存儲空間之后,或在所述第三頁面加載完成之后,所述第三頁面觸發(fā)嵌入頁面加載完成事件。
[0063]可選地,所述數(shù)據(jù)讀取模塊,具體用于所述第一頁面監(jiān)控到所述嵌入頁面加載完成事件時,從所述存儲空間中讀取所述源自第二根域名的目標數(shù)據(jù)。
[0064]依據(jù)本發(fā)明實施例,具備第一根域名的第一頁面以嵌入的方式加載不同源、具備不同的第二根域名的第二頁面,第二頁面將從第二根域名獲取的目標數(shù)據(jù)添加到具備第一根域名的第三頁面中,并跳轉(zhuǎn)到第三頁面,第三頁面與第一頁面具備相同的第一根域名,可以由第三頁面將目標數(shù)據(jù)保存到第一根域名可訪問的存儲空間,第一頁面就可以直接從該存儲空間讀取到第二頁面的目標數(shù)據(jù),解決了瀏覽器中跨域網(wǎng)頁之間的通信問題,可以實現(xiàn)跨域傳輸文件、數(shù)據(jù)共享和同步數(shù)據(jù),同時降低了開發(fā)成本,減少了不同根域名之間的相互嵌套問題。
[0065]其中,目標數(shù)據(jù)可以是第一頁面所需求的數(shù)據(jù)在服務(wù)器的保存地址,通過將保存地址添加到第三頁面,進而可以根據(jù)保存地址從服務(wù)器讀取數(shù)據(jù),使得第一頁面所需求的數(shù)據(jù)的數(shù)據(jù)量不局限于第三頁面保存數(shù)據(jù)的能力,大大增加了跨域名網(wǎng)頁間的數(shù)據(jù)傳輸能力,通過提升服務(wù)器存儲空間的兆級基本可以滿足所有的跨域數(shù)據(jù)傳輸任務(wù)。
[0066]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的【具體實施方式】。
【專利附圖】
【附圖說明】
[0067]通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0068]圖1示出了根據(jù)本發(fā)明一個實施例的網(wǎng)頁跨域通信方法的流程圖;
[0069]圖2示出了根據(jù)本發(fā)明另一個實施例的網(wǎng)頁跨域通信方法的流程圖;
[0070]圖3示出了根據(jù)本發(fā)明一個實施例的網(wǎng)頁跨域通信裝置的結(jié)構(gòu)框圖
[0071]圖4示出了根據(jù)本發(fā)明另一個實施例的網(wǎng)頁跨域通信裝置的結(jié)構(gòu)框圖。
【具體實施方式】
[0072]下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。
[0073]實施例1
[0074]參考圖1,示出了根據(jù)本發(fā)明一個實施例的網(wǎng)頁跨域通信方法的流程圖,該方法具體可以包括以下步驟:
[0075]步驟11、具備第一根域名的第一頁面在所述第一頁面中以嵌入的方式加載具備第二根域名的第二頁面。
[0076]本發(fā)明實施例中,第一頁面與第二頁面為不同源的網(wǎng)頁,也即是其網(wǎng)頁地址具備不同的根域名,例如,第一頁面的網(wǎng)頁地址為WWW.s0.com,對應(yīng)的第一根域名為s0.com,第二頁面的網(wǎng)頁地址為www.1.s0.com,對應(yīng)的第二根域名為1.s0.com。
[0077]在第一頁面中以嵌入的方式加載第二頁面可以是任意可實現(xiàn)的方式,例如,通過嵌入iframe框架的方式,在宿主頁面中包含子頁面的位置插入“〈IFRAME name ="XXX"width = X height = X frameborder = O src = 〃ΧΧΧ.htm"X/IFRAME>” 語句;或是使用Scriptlets組件技術(shù),在宿主頁面中包含子頁面的位置插入“〈OBJECT style ="border:0px〃type = 〃text/x-scriptlet〃data = 〃ΧΧΧ.htm〃width = X Height = XX/OBJECT〉”語句;或是使用腳本文件技術(shù)通過在宿主頁面中引入外部腳本文件來達到嵌入子頁面的目的等。
[0078]步驟12、所述第二頁面將源自第二根域名的目標數(shù)據(jù)添加到預(yù)置的第三頁面中,并跳轉(zhuǎn)到所述第三頁面,所述第三頁面的根域名為第一根域名。
[0079]第二頁面可以獲取到源自第二根域名的目標數(shù)據(jù),基于同源策略,與第二頁面具備不同根域名的第一頁面無法從第二頁面目標數(shù)據(jù)。第二頁面獲取到目標數(shù)據(jù)后,將目標數(shù)據(jù)添加到預(yù)置的第三頁面中,這樣第三頁面就獲取了上述目標數(shù)據(jù)。
[0080]第二頁面跳轉(zhuǎn)到第三頁面(302跳轉(zhuǎn)),第三頁面即是嵌入第一頁面的子頁面,由于第三頁面與第一頁面具有相同的根域名,因此第一頁面和第三頁面是同源頁面。
[0081]本發(fā)明實施例中,將目標數(shù)據(jù)添加到第三頁面中,可以是添加到第二頁面的頁面內(nèi)容、頁面地址或是頁面的相關(guān)屬性信息中,還可以是其他任意可實現(xiàn)的方式。
[0082]其中,第二頁面可以通過任何可實現(xiàn)的方式獲取源自第二根域名的目標數(shù)據(jù),例如,可以對目標數(shù)據(jù)提前預(yù)置并保存,由第二頁面臨時從第二根域名對應(yīng)的服務(wù)器接收或請求目標數(shù)據(jù),或者,目標數(shù)據(jù)為第二頁面的頁面內(nèi)容或是屬性信息,從第二頁面中可以提取目標數(shù)據(jù)等。
[0083]步驟13、所述第三頁面提取包含的所述源自第二根域名的目標數(shù)據(jù),并保存到具備第一根域名的頁面可訪問的存儲空間。
[0084]針對第一根域名預(yù)置存儲空間,該存儲空間僅供具備第一根域名的頁面訪問,第三頁面將其包含的目標數(shù)據(jù)保存到預(yù)置的存儲空間,以供其他具備第一根域名的頁面訪問目標數(shù)據(jù)。
[0085]具體地,第三頁面可以輸出在頁面中預(yù)置的腳本,由該腳本執(zhí)行提取目標數(shù)據(jù)并保存的操作。
[0086]步驟14、所述第一頁面從所述存儲空間中讀取所述源自第二根域名的目標數(shù)據(jù)。
[0087]第一頁面可以訪問上述第一根域名對應(yīng)的存儲空間,可以直接從存儲空間中讀取目標數(shù)據(jù),即讀取了第二頁面的目標數(shù)據(jù),因此,解決了瀏覽器中跨域網(wǎng)頁之間的通信問題,可以實現(xiàn)跨域傳輸文件、數(shù)據(jù)共享和同步數(shù)據(jù),同時降低了開發(fā)成本,減少了不同根域名之間的相互嵌套問題。
[0088]本發(fā)明實施例中,優(yōu)選地,所述步驟11可以包括:
[0089]子步驟111、所述第一頁面向第二根域名對應(yīng)的第二服務(wù)器發(fā)送數(shù)據(jù)處理請求。
[0090]子步驟112、在發(fā)送所述數(shù)據(jù)處理請求之后,所述第一頁面中預(yù)置的嵌入頁面加載所述第二頁面的頁面地址,得到第二頁面。
[0091]第一頁面首先請求第二根域名對應(yīng)的第二服務(wù)器處理數(shù)據(jù),進一步加載具備第二根域名的第二頁面。在第一頁面中預(yù)置嵌入頁面,并指向第二頁面的頁面地址,在加載第一頁面過程中,加載到嵌入頁面時,嵌入頁面加載第二頁面的頁面地址,就可以得到第二頁面。
[0092]預(yù)置的嵌入頁面可以是iframe子頁面,iframe是一種HTML (HyperText Mark-upLanguage,超文本標記語言)標簽,會創(chuàng)建包含另外一個文檔的內(nèi)聯(lián)框架,即行內(nèi)框架。在第一頁面中創(chuàng)建iframe子頁面,其指向的頁面地址為第二頁面的頁面地址,加載iframe子頁面就可以得到第二頁面。在網(wǎng)頁中編寫元素〈iframe src = 〃需要嵌入的網(wǎng)頁地址"width = 〃子頁面的寬度"height = 〃高度〃X/iframe>。此處預(yù)置的iframe子頁面可以是空白頁面,避免耗費計算機資源進行頁面加載。
[0093]進一步優(yōu)選地,嵌入頁面可以預(yù)置在頁面元素中,并且可以根據(jù)實際需求預(yù)置在不同的頁面元素中,例如,表單元素、區(qū)域元素、地址元素等。本發(fā)明實施例中,優(yōu)選地,第一頁面中包含表單元素,嵌入頁面可以設(shè)置在第一頁面的表單元素中。
[0094]相應(yīng)優(yōu)選地,可以由表單元素觸發(fā)數(shù)據(jù)處理請求,并由表單元素進一步控制第二頁面的記載。具體地,所述子步驟111可以包括:
[0095]子步驟111-1、所述第一頁面的表單元素向所述第二服務(wù)器發(fā)送向所述第二服務(wù)器上傳數(shù)據(jù)的post請求,所述post請求攜帶請求處理的數(shù)據(jù)。
[0096]或,子步驟111-2、所述第一頁面的表單元素向所述第二服務(wù)器發(fā)送從所述第二服務(wù)器獲取數(shù)據(jù)的get請求,所述get請求攜帶請求處理的數(shù)據(jù)。
[0097]Form提供了兩種數(shù)據(jù)傳輸?shù)姆绞?,通過get請求和通過post請求。雖然它們都是數(shù)據(jù)的提交方式,但是在實際傳輸時確有很大的不同。
[0098]post是用來向服務(wù)器上傳遞數(shù)據(jù),表單元素向第二服務(wù)器發(fā)送上傳數(shù)據(jù)的post請求;get請求是用來從服務(wù)器上獲得數(shù)據(jù),表單元素向第二服務(wù)器發(fā)送獲取數(shù)據(jù)的get請求。
[0099]相比之下,更優(yōu)選的是通過post請求的方式,主要原因在于:
[0100]1、post請求的方式是將表單中的請求處理的數(shù)據(jù)放在form的數(shù)據(jù)體中,按照變量和值相對應(yīng)的方式,傳遞到act1n所指向URL。get請求的方式將表單中請求處理的數(shù)據(jù)的按照variable = value的形式,添加到act1n所指向的URL后面,并且兩者使用“? ”連接,而各個變量之間使用“&”連接。
[0101]2、get請求的方式安全性較低,因為在傳輸過程,數(shù)據(jù)被放在請求的URL中,而如今現(xiàn)有的很多服務(wù)器、代理服務(wù)器或者用戶代理都會將請求URL記錄到日志文件中,然后放在某個地方,這樣就可能會有一些隱私的信息被第三方看到。另外,用戶也可以在瀏覽器上直接看到提交的數(shù)據(jù),一些系統(tǒng)內(nèi)部消息將會一同顯示在用戶面前。而post請求的方式的所有操作對用戶來說都是不可見的。
[0102]3、由于受到URL長度限制,get請求的方式傳輸?shù)臄?shù)據(jù)量?。欢鴓ost請求的方式可以傳輸大量的數(shù)據(jù),所以在上傳文件只能使用post。
[0103]4、get限制Form表單的數(shù)據(jù)集的值必須為ASCII字符;而?08丨支持整個IS010646字符集,適用于更多應(yīng)用場景。
[0104]相應(yīng)優(yōu)選地,所述子步驟112可以包括:
[0105]子步驟112-1、所述表單元素中的嵌入頁面加載所述表單元素的目標源地址,得到第二頁面。
[0106]將表單元素的目標源地址設(shè)置為所述第二頁面的頁面地址,第二頁面渲染到該表單元素時,表單元素控制嵌入頁面加載該頁面地址得到第二頁面。
[0107]相應(yīng)優(yōu)選地,所述目標數(shù)據(jù)可以包括所述第二根域名對應(yīng)的服務(wù)器針對所述第一頁面發(fā)送的數(shù)據(jù)處理請求得到的全部數(shù)據(jù)處理結(jié)果、部分數(shù)據(jù)處理結(jié)果或所述數(shù)據(jù)處理結(jié)果的屬性信息。
[0108]第二頁面將源自第二根域名的目標數(shù)據(jù)添加到預(yù)置的第三頁面中,可以是將目標數(shù)據(jù)添加到第三頁面或是第三頁面的頁面地址中;也可以是將目標數(shù)據(jù)對應(yīng)在服務(wù)器的存儲地址添加到第三頁面或是第三頁面的頁面地址中,這種方式可以增加傳輸數(shù)據(jù)的數(shù)據(jù)量,優(yōu)選地,所述步驟12可以包括:
[0109]子步驟121、所述第二頁面根據(jù)所述目標數(shù)據(jù)對應(yīng)在所述第一根域名對應(yīng)的第一服務(wù)器或所述第二服務(wù)器的存儲地址與所述第一根域名組織第三頁面的頁面地址。
[0110]子步驟122、所述第二頁面根據(jù)組織的頁面地址跳轉(zhuǎn)到第三頁面。
[0111]目標數(shù)據(jù)可以保存在第一根域名對應(yīng)的第一服務(wù)器或是第二根域名對應(yīng)的第二服務(wù)器中,并對應(yīng)有一個存儲地址,根據(jù)該存儲地址可以在服務(wù)器中提取目標數(shù)據(jù)。將該存儲地址與第一根域名組織第三頁面的頁面地址,得到的第三頁面的頁面地址的根域名即為第一根域名,使第三頁面與第一頁面同源。
[0112]在組織第三頁面的頁面地址后,第二頁面可以直接跳轉(zhuǎn)到該頁面地址得到第三頁面。
[0113]相應(yīng)優(yōu)選地,所述步驟13中所述第三頁面提取包含的所述源自第二根域名的目標數(shù)據(jù)可以包括:
[0114]子步驟131、所述第三頁面從所述第三頁面的頁面地址中提取所述源自第二根域名的目標數(shù)據(jù)對應(yīng)的存儲地址。
[0115]子步驟132、根據(jù)所述存儲地址,從所述第一服務(wù)器或所述第二服務(wù)器中提取目標數(shù)據(jù)。
[0116]將目標數(shù)據(jù)的存儲地址組織在第三頁面的頁面地址中,進而可以直接在頁面地址中提取目標數(shù)據(jù)的存儲地址,簡單便捷,根據(jù)存儲地址可以直接從服務(wù)器讀取數(shù)據(jù),使得第一頁面所需求的數(shù)據(jù)的數(shù)據(jù)量不局限于第三頁面保存數(shù)據(jù)的能力,大大增加了跨域名網(wǎng)頁間的數(shù)據(jù)傳輸能力,通過提升服務(wù)器存儲空間的兆級基本可以滿足所有的跨域數(shù)據(jù)傳輸任務(wù)。
[0117]其中,所述步驟13中所述保存到具備第一根域名的頁面可訪問的存儲空間包括:
[0118]子步驟133、將所述源自第二根域名的目標數(shù)據(jù)保存到本地針對所述第一根域名劃分的、以所述第一根域名為標識的存儲空間。
[0119]或,子步驟134、將所述源自第二根域名的目標數(shù)據(jù)以文件的方式保存到本地的存儲空間,并在文件目錄中記錄所述目標數(shù)據(jù)的文件名稱。
[0120]可以針對不同的根域名分配不同的存儲空間,分別以各根域名為標識進行區(qū)分,例如,進行Localstorage存儲,在HTML5中,本地存儲是一個window的屬性,包括1calStorage (本地存儲)和 sess1nStorage (會話存儲),sess1nStorage 只是伴隨著sess1n,窗口一旦關(guān)閉就沒了,而Localstorage用于持久化的本地存儲,具有按根域名分塊存儲、不主動刪除永不過期、兆級存儲能力的特性。
[0121]或是針對不同的根域名分配不同的用于存儲目標數(shù)據(jù)的文件,并在存儲空間保存一份文件目錄,將各個文件的名稱記錄在文件目錄中,例如Userdata存儲,Userdata是微軟為IE專門在系統(tǒng)中開辟的本地存儲空間,是以文件目錄為單位的存儲,可以應(yīng)用在Windows系統(tǒng)和IE瀏覽器的組合環(huán)境下。
[0122]綜上所述,依據(jù)本發(fā)明實施例,具備第一根域名的第一頁面以嵌入的方式加載不同源、具備不同的第二根域名的第二頁面,第二頁面將從第二根域名獲取的目標數(shù)據(jù)添加到具備第一根域名的第三頁面中,并跳轉(zhuǎn)到第三頁面,第三頁面與第一頁面具備相同的第一根域名,可以由第三頁面將目標數(shù)據(jù)保存到第一根域名可訪問的存儲空間,第一頁面就可以直接從該存儲空間讀取到第二頁面的目標數(shù)據(jù),解決了瀏覽器中跨域網(wǎng)頁之間的通信問題,可以實現(xiàn)跨域傳輸文件、數(shù)據(jù)共享和同步數(shù)據(jù),同時降低了開發(fā)成本,減少了不同根域名之間的相互嵌套問題。
[0123]其中,目標數(shù)據(jù)可以是第一頁面所需求的數(shù)據(jù)在服務(wù)器的保存地址,通過將保存地址添加到第三頁面,進而可以根據(jù)保存地址從服務(wù)器讀取數(shù)據(jù),使得第一頁面所需求的數(shù)據(jù)的數(shù)據(jù)量不局限于第三頁面保存數(shù)據(jù)的能力,大大增加了跨域名網(wǎng)頁間的數(shù)據(jù)傳輸能力,通過提升服務(wù)器存儲空間的兆級基本可以滿足所有的跨域數(shù)據(jù)傳輸任務(wù)。
[0124]實施例2
[0125]參考圖2,示出了根據(jù)本發(fā)明另一個實施例的網(wǎng)頁跨域通信方法的流程圖,該方法具體可以包括以下步驟:
[0126]步驟21、具備第一根域名的第一頁面在所述第一頁面中以嵌入的方式加載具備第二根域名的第二頁面。
[0127]步驟22、所述第二頁面將源自第二根域名的目標數(shù)據(jù)添加到預(yù)置的第三頁面中,并跳轉(zhuǎn)到所述第三頁面,所述第三頁面的根域名為第一根域名。
[0128]步驟23、所述第三頁面提取包含的所述源自第二根域名的目標數(shù)據(jù),并保存到具備第一根域名的頁面可訪問的存儲空間。
[0129]步驟24、在將所述目標數(shù)據(jù)保存到具備第一根域名的頁面可訪問的存儲空間之后,或在所述第三頁面加載完成之后,所述第三頁面觸發(fā)嵌入頁面加載完成事件。
[0130]步驟25、所述第一頁面監(jiān)控到所述嵌入頁面加載完成事件時,從所述存儲空間中讀取所述源自第二根域名的目標數(shù)據(jù)。
[0131]與上個實施例不同的是,本實施例中,可以設(shè)定將目標數(shù)據(jù)保存到針對第一根域名設(shè)置的可訪問的存儲空間后,或是在第三頁面加載完成后自動觸發(fā)iframe的onload事件,onload事件是頁面加載完成后執(zhí)行的事件,第一頁面可以在監(jiān)控到第三頁面中發(fā)生頁面完成事件,從存儲空間讀取目標數(shù)據(jù),由于存儲數(shù)據(jù)和頁面跳轉(zhuǎn)的時間極短,通過該方案可以使第一頁面盡快獲取到從第二根域名獲取的數(shù)據(jù)。
[0132]在具體的實現(xiàn)中,可以在第一頁面綁定函數(shù)fn到iframe的onload事件,iframe的onload事件會調(diào)用第一頁面的函數(shù)fn,函數(shù)fn控制獲取可以取到目標數(shù)據(jù)。
[0133]綜上所述,依據(jù)本發(fā)明實施例,具備第一根域名的第一頁面以嵌入的方式加載不同源、具備不同的第二根域名的第二頁面,第二頁面將從第二根域名獲取的目標數(shù)據(jù)添加到具備第一根域名的第三頁面中,并跳轉(zhuǎn)到第三頁面,第三頁面與第一頁面具備相同的第一根域名,可以由第三頁面將目標數(shù)據(jù)保存到第一根域名可訪問的存儲空間,第一頁面就可以直接從該存儲空間讀取到第二頁面的目標數(shù)據(jù),解決了瀏覽器中跨域網(wǎng)頁之間的通信問題,可以實現(xiàn)跨域傳輸文件、數(shù)據(jù)共享和同步數(shù)據(jù),同時降低了開發(fā)成本,減少了不同根域名之間的相互嵌套問題。
[0134]其中,目標數(shù)據(jù)可以是第一頁面所需求的數(shù)據(jù)在服務(wù)器的保存地址,通過將保存地址添加到第三頁面,進而可以根據(jù)保存地址從服務(wù)器讀取數(shù)據(jù),使得第一頁面所需求的數(shù)據(jù)的數(shù)據(jù)量不局限于第三頁面保存數(shù)據(jù)的能力,大大增加了跨域名網(wǎng)頁間的數(shù)據(jù)傳輸能力,通過提升服務(wù)器存儲空間的兆級基本可以滿足所有的跨域數(shù)據(jù)傳輸任務(wù)。
[0135]為使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明,以下通過一個具體地示例對本發(fā)明實施例所述的網(wǎng)頁跨域通信方法進行說明,其中,第一頁面為a頁面,對應(yīng)根域名為www.S0.com,第二頁面為b頁面,對應(yīng)根域名為1.s0.com,第三頁面為c頁面,與a頁面同源。
[0136]l、a頁面有待處理的圖片數(shù)據(jù),在a頁面利用表單元素發(fā)送攜帶圖片數(shù)據(jù)的post/get請求到1.s0.com的server端,其中,表單元素的目標源為一個空白iframe, a頁面綁定函數(shù)fn。
[0137]2、當post/get請求發(fā)出,iframe會加載b頁面。
[0138]3、1.s0.com的server端接收post/get請求,對圖片數(shù)據(jù)進行處理得到圖片處理結(jié)果。
[0139]4、b頁面根據(jù)server端返回的圖片處理結(jié)果的存儲地址組織的URL地址,302到該地址對應(yīng)的c頁面。
[0140]5、c頁面輸出前端腳本,前端腳本提取圖片處理結(jié)果,利用1calstorage/userdata將圖片處理結(jié)果存到本地,成功后會觸發(fā)iframe的onload事件
[0141]6>iframe的onload事件會調(diào)用之前a頁面的方法fn,利用fn可以取到本地保存的圖片處理結(jié)果,至此,完成WWW.s0.com和1.s0.com不同域名之間的數(shù)據(jù)通信任務(wù)。
[0142]實施例3
[0143]參考圖3,其示出了根據(jù)本發(fā)明一個實施例的網(wǎng)頁跨域通信裝置的結(jié)構(gòu)框圖,具體可以包括第一頁面31、第二頁面32和第三頁面33。
[0144]所述第一頁面31包括嵌入加載模塊311 ;
[0145]所述嵌入加載模塊311,用于具備第一根域名的第一頁面在所述第一頁面中以嵌入的方式加載具備第二根域名的第二頁面;
[0146]所述第二頁面包括數(shù)據(jù)添加模塊321和頁面跳轉(zhuǎn)模塊322 ;
[0147]所述數(shù)據(jù)添加模塊321,用于所述第二頁面將源自第二根域名的目標數(shù)據(jù)添加到預(yù)置的第三頁面中,所述第三頁面的根域名為第一根域名;
[0148]所述頁面跳轉(zhuǎn)模塊322,用于跳轉(zhuǎn)到所述第三頁面;
[0149]所述第三頁面33包括數(shù)據(jù)提取模塊331和數(shù)據(jù)保存模塊332 ;
[0150]所述數(shù)據(jù)提取模塊331,用于提取包含的所述源自第二根域名的目標數(shù)據(jù);
[0151]所述數(shù)據(jù)保存模塊332,用于保存到具備第一根域名的頁面可訪問的存儲空間;
[0152]所述第一頁面還包括數(shù)據(jù)讀取模塊312 ;
[0153]所述數(shù)據(jù)讀取模塊312,用于所述第一頁面從所述存儲空間中讀取所述源自第二根域名的目標數(shù)據(jù)。
[0154]本發(fā)明實施例中,優(yōu)選地,所述嵌入加載模塊包括:
[0155]數(shù)據(jù)處理請求發(fā)送子模塊,用于所述第一頁面向第二根域名對應(yīng)的第二服務(wù)器發(fā)送數(shù)據(jù)處理請求;
[0156]第二頁面加載子模塊,用于在發(fā)送所述數(shù)據(jù)處理請求之后,所述第一頁面中預(yù)置的嵌入頁面加載所述第二頁面的頁面地址,得到第二頁面。
[0157]本發(fā)明實施例中,優(yōu)選地,所述第一頁面中包含表單元素,所述表單元素的目標源地址為所述第二頁面的頁面地址,所述嵌入頁面預(yù)置在所述表單元素中。
[0158]本發(fā)明實施例中,優(yōu)選地,所述數(shù)據(jù)處理請求發(fā)送子模塊包括:
[0159]post請求發(fā)送子單元,用于所述第一頁面的表單元素向所述第二服務(wù)器發(fā)送向所述第二服務(wù)器上傳數(shù)據(jù)的post請求,所述post請求攜帶請求處理的數(shù)據(jù);
[0160]或,get請求發(fā)送子單元,用于所述第一頁面的表單元素向所述第二服務(wù)器發(fā)送從所述第二服務(wù)器獲取數(shù)據(jù)的get請求,所述get請求攜帶請求處理的數(shù)據(jù)。
[0161]本發(fā)明實施例中,優(yōu)選地,所述第二頁面加載子模塊,具體用于所述表單元素中的嵌入頁面加載所述表單元素的目標源地址,得到第二頁面。
[0162]本發(fā)明實施例中,優(yōu)選地,所述目標數(shù)據(jù)包括所述第二根域名對應(yīng)的服務(wù)器針對所述第一頁面發(fā)送的數(shù)據(jù)處理請求得到的全部數(shù)據(jù)處理結(jié)果、部分數(shù)據(jù)處理結(jié)果或所述數(shù)據(jù)處理結(jié)果的屬性信息。
[0163]本發(fā)明實施例中,優(yōu)選地,所述數(shù)據(jù)添加模塊,具體用于所述第二頁面根據(jù)所述目標數(shù)據(jù)對應(yīng)在所述第一根域名對應(yīng)的第一服務(wù)器或所述第二服務(wù)器的存儲地址與所述第一根域名組織第三頁面的頁面地址;
[0164]所述頁面跳轉(zhuǎn)模塊,具體用于所述第二頁面根據(jù)組織的頁面地址跳轉(zhuǎn)到第三頁面。
[0165]本發(fā)明實施例中,優(yōu)選地,所述數(shù)據(jù)提取模塊包括:
[0166]存儲地址提取子模塊,用于從所述第三頁面的頁面地址中提取所述源自第二根域名的目標數(shù)據(jù);
[0167]服務(wù)器數(shù)據(jù)提取子模塊,用于根據(jù)所述存儲地址,從所述第一服務(wù)器或所述第二服務(wù)器中提取目標數(shù)據(jù)。
[0168]本發(fā)明實施例中,優(yōu)選地,所述數(shù)據(jù)保存模塊,具體用于將所述源自第二根域名的目標數(shù)據(jù)保存到本地針對所述第一根域名劃分的、以所述第一根域名為標識的存儲空間;
[0169]或,所述數(shù)據(jù)保存模塊,具體用于將所述源自第二根域名的目標數(shù)據(jù)以文件的方式保存到本地的存儲空間,并在文件目錄中記錄所述目標數(shù)據(jù)的文件名稱。
[0170]依據(jù)本發(fā)明實施例,具備第一根域名的第一頁面以嵌入的方式加載不同源、具備不同的第二根域名的第二頁面,第二頁面將從第二根域名獲取的目標數(shù)據(jù)添加到具備第一根域名的第三頁面中,并跳轉(zhuǎn)到第三頁面,第三頁面與第一頁面具備相同的第一根域名,可以由第三頁面將目標數(shù)據(jù)保存到第一根域名可訪問的存儲空間,第一頁面就可以直接從該存儲空間讀取到第二頁面的目標數(shù)據(jù),解決了瀏覽器中跨域網(wǎng)頁之間的通信問題,可以實現(xiàn)跨域傳輸文件、數(shù)據(jù)共享和同步數(shù)據(jù),同時降低了開發(fā)成本,減少了不同根域名之間的相互嵌套問題。
[0171]其中,目標數(shù)據(jù)可以是第一頁面所需求的數(shù)據(jù)在服務(wù)器的保存地址,通過將保存地址添加到第三頁面,進而可以根據(jù)保存地址從服務(wù)器讀取數(shù)據(jù),使得第一頁面所需求的數(shù)據(jù)的數(shù)據(jù)量不局限于第三頁面保存數(shù)據(jù)的能力,大大增加了跨域名網(wǎng)頁間的數(shù)據(jù)傳輸能力,通過提升服務(wù)器存儲空間的兆級基本可以滿足所有的跨域數(shù)據(jù)傳輸任務(wù)。
[0172]實施例4
[0173]參考圖4,其示出了根據(jù)本發(fā)明另一個實施例的網(wǎng)頁跨域通信裝置的結(jié)構(gòu)框圖,具體可以包括第一頁面41、第二頁面42和第三頁面43。
[0174]所述第一頁面41包括嵌入加載模塊411 ;
[0175]所述嵌入加載模塊411,用于具備第一根域名的第一頁面在所述第一頁面中以嵌入的方式加載具備第二根域名的第二頁面;
[0176]所述第二頁面包括數(shù)據(jù)添加模塊421和頁面跳轉(zhuǎn)模塊422 ;
[0177]所述數(shù)據(jù)添加模塊421,用于所述第二頁面將源自第二根域名的目標數(shù)據(jù)添加到預(yù)置的第三頁面中,所述第三頁面的根域名為第一根域名;
[0178]所述頁面跳轉(zhuǎn)模塊422,用于跳轉(zhuǎn)到所述第三頁面;
[0179]所述第三頁面43包括數(shù)據(jù)提取模塊431、數(shù)據(jù)保存模塊432和事件觸發(fā)模塊433 ;
[0180]所述數(shù)據(jù)提取模塊431,用于提取包含的所述源自第二根域名的目標數(shù)據(jù);
[0181]所述數(shù)據(jù)保存模塊432,用于保存到具備第一根域名的頁面可訪問的存儲空間;
[0182]事件觸發(fā)模塊433,用于在將所述目標數(shù)據(jù)保存到具備第一根域名的頁面可訪問的存儲空間之后,或在所述第三頁面加載完成之后,所述第三頁面觸發(fā)嵌入頁面加載完成事件。
[0183]所述第一頁面還包括數(shù)據(jù)讀取模塊412 ;
[0184]所述數(shù)據(jù)讀取模塊412,具體用于所述第一頁面監(jiān)控到所述嵌入頁面加載完成事件時,從所述存儲空間中讀取所述源自第二根域名的目標數(shù)據(jù)。
[0185]依據(jù)本發(fā)明實施例,具備第一根域名的第一頁面以嵌入的方式加載不同源、具備不同的第二根域名的第二頁面,第二頁面將從第二根域名獲取的目標數(shù)據(jù)添加到具備第一根域名的第三頁面中,并跳轉(zhuǎn)到第三頁面,第三頁面與第一頁面具備相同的第一根域名,可以由第三頁面將目標數(shù)據(jù)保存到第一根域名可訪問的存儲空間,第一頁面就可以直接從該存儲空間讀取到第二頁面的目標數(shù)據(jù),解決了瀏覽器中跨域網(wǎng)頁之間的通信問題,可以實現(xiàn)跨域傳輸文件、數(shù)據(jù)共享和同步數(shù)據(jù),同時降低了開發(fā)成本,減少了不同根域名之間的相互嵌套問題。
[0186]其中,目標數(shù)據(jù)可以是第一頁面所需求的數(shù)據(jù)在服務(wù)器的保存地址,通過將保存地址添加到第三頁面,進而可以根據(jù)保存地址從服務(wù)器讀取數(shù)據(jù),使得第一頁面所需求的數(shù)據(jù)的數(shù)據(jù)量不局限于第三頁面保存數(shù)據(jù)的能力,大大增加了跨域名網(wǎng)頁間的數(shù)據(jù)傳輸能力,通過提升服務(wù)器存儲空間的兆級基本可以滿足所有的跨域數(shù)據(jù)傳輸任務(wù)。
[0187]由于所述裝置實施例基本相應(yīng)于前述圖1和圖2所示的方法實施例,故本實施例的描述中未詳盡之處,可以參見前述實施例中的相關(guān)說明,在此就不贅述了。
[0188]在此提供的算法和顯示不與任何特定計算機、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。
[0189]在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
[0190]類似地,應(yīng)當理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循【具體實施方式】的權(quán)利要求書由此明確地并入該【具體實施方式】,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。
[0191]本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的設(shè)備中的模塊進行自適應(yīng)性地改變并且把它們設(shè)置在與該實施例不同的一個或多個設(shè)備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
[0192]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
[0193]本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的網(wǎng)頁跨域通信設(shè)備中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
[0194]應(yīng)該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
【權(quán)利要求】
1.一種網(wǎng)頁跨域通信方法,包括: 具備第一根域名的第一頁面在所述第一頁面中以嵌入的方式加載具備第二根域名的第二頁面; 所述第二頁面將源自第二根域名的目標數(shù)據(jù)添加到預(yù)置的第三頁面中,并跳轉(zhuǎn)到所述第三頁面,所述第三頁面的根域名為第一根域名; 所述第三頁面提取包含的所述源自第二根域名的目標數(shù)據(jù),并保存到具備第一根域名的頁面可訪問的存儲空間; 所述第一頁面從所述存儲空間中讀取所述源自第二根域名的目標數(shù)據(jù)。
2.如權(quán)利要求1所述的方法,其中,所述具備第一根域名的第一頁面在所述第一頁面中以嵌入的方式加載具備第二根域名的第二頁面包括: 所述第一頁面向第二根域名對應(yīng)的第二服務(wù)器發(fā)送數(shù)據(jù)處理請求; 在發(fā)送所述數(shù)據(jù)處理請求之后,所述第一頁面中預(yù)置的嵌入頁面加載所述第二頁面的頁面地址,得到第二頁面。
3.如權(quán)利要求1-2任一項所述的方法,其中,所述第一頁面中包含表單元素,所述表單元素的目標源地址為所述第二頁面的頁面地址,所述嵌入頁面預(yù)置在所述表單元素中。
4.如權(quán)利要求1-3任一項所述的方法,其中,所述第一頁面向第二根域名對應(yīng)的第二服務(wù)器發(fā)送數(shù)據(jù)處理請求包括: 所述第一頁面的表單元素向所述第二服務(wù)器發(fā)送向所述第二服務(wù)器上傳數(shù)據(jù)的post請求,所述post請求攜帶請求處理的數(shù)據(jù); 或,所述第一頁面的表單元素向所述第二服務(wù)器發(fā)送從所述第二服務(wù)器獲取數(shù)據(jù)的get請求,所述get請求攜帶請求處理的數(shù)據(jù)。
5.如權(quán)利要求1-4任一項所述的方法,其中,所述第一頁面中預(yù)置的嵌入頁面加載所述第二頁面的頁面地址,得到第二頁面包括: 所述表單元素中的嵌入頁面加載所述表單元素的目標源地址,得到第二頁面。
6.如權(quán)利要求1-5任一項所述的方法,其中,所述目標數(shù)據(jù)包括所述第二根域名對應(yīng)的服務(wù)器針對所述第一頁面發(fā)送的數(shù)據(jù)處理請求得到的全部數(shù)據(jù)處理結(jié)果、部分數(shù)據(jù)處理結(jié)果或所述數(shù)據(jù)處理結(jié)果的屬性信息。
7.如權(quán)利要求1-6任一項所述的方法,其中,所述第二頁面將源自第二根域名的目標數(shù)據(jù)添加到預(yù)置的第三頁面中,并跳轉(zhuǎn)到所述第三頁面包括: 所述第二頁面根據(jù)所述目標數(shù)據(jù)對應(yīng)在所述第一根域名對應(yīng)的第一服務(wù)器或所述第二服務(wù)器的存儲地址與所述第一根域名組織第三頁面的頁面地址; 所述第二頁面根據(jù)組織的頁面地址跳轉(zhuǎn)到第三頁面。
8.如權(quán)利要求1-7任一項所述的方法,其中,所述保存到具備第一根域名的頁面可訪問的存儲空間包括: 將所述源自第二根域名的目標數(shù)據(jù)保存到本地針對所述第一根域名劃分的、以所述第一根域名為標識的存儲空間; 或,將所述源自第二根域名的目標數(shù)據(jù)以文件的方式保存到本地的存儲空間,并在文件目錄中記錄所述目標數(shù)據(jù)的文件名稱。
9.一種網(wǎng)頁跨域通信裝置,包括第一頁面、第二頁面和第三頁面; 所述第一頁面包括嵌入加載模塊; 所述嵌入加載模塊,用于具備第一根域名的第一頁面在所述第一頁面中以嵌入的方式加載具備第二根域名的第二頁面; 所述第二頁面包括數(shù)據(jù)添加模塊和頁面跳轉(zhuǎn)模塊; 所述數(shù)據(jù)添加模塊,用于所述第二頁面將源自第二根域名的目標數(shù)據(jù)添加到預(yù)置的第三頁面中,所述第三頁面的根域名為第一根域名; 所述頁面跳轉(zhuǎn)模塊,用于跳轉(zhuǎn)到所述第三頁面; 所述第三頁面包括數(shù)據(jù)提取模塊和數(shù)據(jù)保存模塊; 所述數(shù)據(jù)提取模塊,用于提取包含的所述源自第二根域名的目標數(shù)據(jù); 所述數(shù)據(jù)保存模塊,用于保存到具備第一根域名的頁面可訪問的存儲空間; 所述第一頁面還包括數(shù)據(jù)讀取模塊; 所述數(shù)據(jù)讀取模塊,用于所述第一頁面從所述存儲空間中讀取所述源自第二根域名的目標數(shù)據(jù)。
10.如權(quán)利要求9所述的裝置,其中,所述嵌入加載模塊包括: 數(shù)據(jù)處理請求發(fā)送子模塊,用于所述第一頁面向第二根域名對應(yīng)的第二服務(wù)器發(fā)送數(shù)據(jù)處理請求; 第二頁面加載子模塊,用于在發(fā)送所述數(shù)據(jù)處理請求之后,所述第一頁面中預(yù)置的嵌入頁面加載所述第二頁面的頁面地址,得到第二頁面。
【文檔編號】G06F17/30GK104301379SQ201410433474
【公開日】2015年1月21日 申請日期:2014年8月28日 優(yōu)先權(quán)日:2014年8月28日
【發(fā)明者】陳新 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司