国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      網(wǎng)絡(luò)客戶端跨域請求數(shù)據(jù)的實現(xiàn)方法、裝置及終端的制作方法

      文檔序號:6516941閱讀:228來源:國知局
      網(wǎng)絡(luò)客戶端跨域請求數(shù)據(jù)的實現(xiàn)方法、裝置及終端的制作方法
      【專利摘要】本公開是關(guān)于一種網(wǎng)絡(luò)客戶端跨域請求數(shù)據(jù)的實現(xiàn)方法、裝置及終端,該實現(xiàn)方法包括:當(dāng)檢測到從第一域向第二域請求數(shù)據(jù)的數(shù)據(jù)請求時,根據(jù)數(shù)據(jù)請求信息生成哈希值,并替換第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值;其中,所述嵌入式框架為預(yù)先在第一域的網(wǎng)絡(luò)頁面下創(chuàng)建,且嵌入式框架的源文件指向第二域的靜態(tài)超文本標(biāo)記語言HTML頁面;將第二域返回的被請求數(shù)據(jù)存儲在所述嵌入式框架的特定變量中;通過訪問嵌入式框架的特定變量獲取來自所述第二域的被請求數(shù)據(jù),其中,特定變量的值不隨瀏覽器網(wǎng)頁地址的變化而變化、且直到所述瀏覽器會話結(jié)束時消除。該方法發(fā)送的數(shù)量不受限制,實現(xiàn)過程簡單,平臺兼容性較好,可以很好的跟蹤整個請求的過程。
      【專利說明】網(wǎng)絡(luò)客戶端跨域請求數(shù)據(jù)的實現(xiàn)方法、裝置及終端
      【技術(shù)領(lǐng)域】
      [0001]本公開涉及網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,尤其涉及網(wǎng)絡(luò)客戶端跨域請求數(shù)據(jù)的實現(xiàn)方法、裝置及終端。
      【背景技術(shù)】
      [0002]隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,各個公司、各個團體之間的項目合作變得越來越緊密,數(shù)據(jù)共享和數(shù)據(jù)互通變得越來越多。與此同時,跨域數(shù)據(jù)訪問(各個公司之間的網(wǎng)站,一般不會共享同一個域名)變得越來越頻繁。跨域數(shù)據(jù)訪問方案也是層出不窮,但是多數(shù)都要借助于服務(wù)器來完成。
      [0003]目前實現(xiàn)跨域數(shù)據(jù)訪問的方案有如下幾種:
      [0004]使用JS0NP(JS0N with Padding,資料格式j(luò)son的一種使用模式)來實現(xiàn)跨域數(shù)據(jù)訪問:JSONP可以實現(xiàn)跨父域的HTTP (Hyper Text Transport Protocol,超文本傳送協(xié)議)GET (一種表示獲取的函數(shù)命令)請求,原理是在頁面中插入一個script HTML (HypertextMarkup Language,超文本標(biāo)記語言)IFRAME (嵌入式框架),并設(shè)置IFRAME的src (源文件)屬性到需要請求數(shù)據(jù)的服務(wù)器地址。數(shù)據(jù)返回時,數(shù)據(jù)被當(dāng)作一個javascript變量傳遞回來被客戶端獲取。但是,使用JSONP方案來實現(xiàn)跨域數(shù)據(jù)訪問,不能對服務(wù)器執(zhí)行一個HTTPPOST請求,也就是對于這種方案來說,能夠發(fā)送的數(shù)據(jù)量是有限的。同時由于是使用一個Script HTML IFRAME來發(fā)送GET請求,請求過程中服務(wù)器的狀態(tài)不能被獲取,只能得到最終的返回結(jié)果。
      [0005]使用服務(wù)器轉(zhuǎn)發(fā)來實現(xiàn)跨域數(shù)據(jù)訪問:使用服務(wù)器轉(zhuǎn)發(fā)規(guī)避了網(wǎng)絡(luò)客戶端不能很好實現(xiàn)跨域的問題。該方案通過一個域下的服務(wù)器向另一個域下的服務(wù)器發(fā)送請求(服務(wù)器之間發(fā)送請求不受域的限制),從而實現(xiàn)跨越數(shù)據(jù)訪問。但是,這種方案最大的問題在于提高了項目合作的門檻和復(fù)雜度,不僅需要客戶端工程師參與到項目中,還需要服務(wù)器的工程師參與。
      [0006]使用HTML5技術(shù)來實現(xiàn)跨域訪問:在HTML5中可以使用xmlHttpRequest2 (一種接口函數(shù))或者PostMessage (—種接口函數(shù))接口實現(xiàn)數(shù)據(jù)跨越請求。通過創(chuàng)建一個xmlHttpRequest2對象,可以像傳統(tǒng)的ajax (使用腳本中內(nèi)置對象發(fā)送異步請求)方式一樣,向服務(wù)器請求數(shù)據(jù),并請求數(shù)據(jù),但前提是服務(wù)器返回的數(shù)據(jù)頭中必須設(shè)置Access-Control-Allow-Origin (Httpheader 中的一個 key)的值為 * (代表沒有限制)或者設(shè)置為可以訪問的該服務(wù)器數(shù)據(jù)的域。這種方案受限于用戶所使用的瀏覽器,如果用戶使用的瀏覽器不支持HTML5技術(shù),那么這種方案就會完全失效,這種方案的平臺兼容性不容樂觀,目前只被部分移動端網(wǎng)站所支持(移動端瀏覽器對HTML5支持通常較為友好)。
      [0007]可見,目前的實現(xiàn)跨域數(shù)據(jù)訪問的方案存在發(fā)送的數(shù)據(jù)量有限、實現(xiàn)難度較大、平臺兼容性較差的問題。

      【發(fā)明內(nèi)容】
      [0008]本公開提供了一種網(wǎng)絡(luò)客戶端跨域請求數(shù)據(jù)的實現(xiàn)方法、裝置及終端,用以解決目前的實現(xiàn)跨域數(shù)據(jù)訪問的方案存在發(fā)送的數(shù)據(jù)量有限、實現(xiàn)難度較大、平臺兼容性較差的問題。
      [0009]一方面,本公開提供了一種網(wǎng)絡(luò)客戶端跨域請求數(shù)據(jù)的實現(xiàn)方法,包括:
      [0010]當(dāng)檢測到從第一域向第二域請求數(shù)據(jù)的數(shù)據(jù)請求時,根據(jù)數(shù)據(jù)請求信息生成哈希值,并替換第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值;其中,所述嵌入式框架為預(yù)先在所述第一域的網(wǎng)絡(luò)頁面下創(chuàng)建,且所述嵌入式框架的源文件指向所述第二域的靜態(tài)超文本標(biāo)記語言HTML頁面;
      [0011]將所述第二域返回的被請求數(shù)據(jù)存儲在所述嵌入式框架的特定變量中;
      [0012]通過訪問所述嵌入式框架的一特定變量獲取來自所述第二域的被請求數(shù)據(jù),其中,所述特定變量的值不隨瀏覽器網(wǎng)頁地址的變化而變化、且直到所述瀏覽器會話結(jié)束時消除。
      [0013]所述根據(jù)數(shù)據(jù)請求信息生成哈希值,并替換第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值,包括:
      [0014]根據(jù)數(shù)據(jù)請求信息,通過腳本動態(tài)生成哈希值;
      [0015]將生成的哈希值替換第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值。
      [0016]本公開還提供了一種網(wǎng)絡(luò)客戶端跨域請求的實現(xiàn)方法,包括:
      [0017]獲取第一域的網(wǎng)絡(luò)頁面嵌入式框架的變化后的哈希值,所述變化后的哈希值包括數(shù)據(jù)請求信息,所述第一域為請求數(shù)據(jù)方所在域;
      [0018]根據(jù)所述數(shù)據(jù)請求信息向第二域請求數(shù)據(jù);
      [0019]接收所述第二域返回的被請求數(shù)據(jù),并將所述被請求數(shù)據(jù)保存在所述第一域的網(wǎng)絡(luò)頁面嵌入式框架的一特定變量中,所述特定變量的值不隨瀏覽器網(wǎng)頁地址的變化而變化、且直到所述瀏覽器會話結(jié)束時消除;
      [0020]將所述第一域的網(wǎng)絡(luò)頁面嵌入式框架的頁面地址設(shè)置為所述第一域的靜態(tài)HTML頁面地址。
      [0021]所述獲取第一域的網(wǎng)絡(luò)頁面嵌入式框架的變化后的哈希值,包括:
      [0022]監(jiān)聽哈希變化事件;
      [0023]當(dāng)監(jiān)聽到所述第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值發(fā)生變化時,獲取變化后的哈希值。
      [0024]所述獲取第一域的網(wǎng)絡(luò)頁面嵌入式框架的變化后的哈希值,包括:
      [0025]按預(yù)設(shè)周期監(jiān)測所述第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值;
      [0026]當(dāng)監(jiān)測到所述哈希值發(fā)生變化時,獲取變化后的哈希值。
      [0027]所述根據(jù)所述數(shù)據(jù)請求信息向第二域請求數(shù)據(jù),包括:
      [0028]建立異步數(shù)據(jù)請求對象,以AJAX的方式向所述第二域的服務(wù)器請求數(shù)據(jù)。
      [0029]另一方面,本公開提供了一種網(wǎng)絡(luò)客戶端跨域請求的實現(xiàn)裝置,包括:
      [0030]變更模塊,用于當(dāng)檢測到從第一域向第二域請求數(shù)據(jù)的數(shù)據(jù)請求時,根據(jù)數(shù)據(jù)請求信息生成哈希值,并替換第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值;其中,所述嵌入式框架為預(yù)先在所述第一域的網(wǎng)絡(luò)頁面下創(chuàng)建,且所述嵌入式框架的源文件指向所述第二域的靜態(tài)超文本標(biāo)記語目HTML頁面;[0031]存儲模塊,用于將所述第二域返回的被請求數(shù)據(jù)存儲在所述嵌入式框架的特定變
      量中;
      [0032]第一獲取模塊,用于通過訪問所述嵌入式框架的特定變量獲取來自所述第二域的被請求數(shù)據(jù),其中,所述特定變量的值不隨瀏覽器網(wǎng)頁地址的變化而變化、且直到所述瀏覽器會話結(jié)束時消除。
      [0033]所述變更模塊包括:
      [0034]生成單元,用于根據(jù)數(shù)據(jù)請求信息,通過腳本動態(tài)生成哈希值;
      [0035]變更單元,用于將生成的哈希值替換第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值。
      [0036]本公開還提供了一種網(wǎng)絡(luò)客戶端跨域請求的實現(xiàn)裝置,包括:
      [0037]第二獲取模塊,用于獲取第一域的網(wǎng)絡(luò)頁面嵌入式框架的變化后的哈希值,所述變化后的哈希值包括數(shù)據(jù)請求信息,所述第一域為請求數(shù)據(jù)方所在域;
      [0038]請求模塊,用于根據(jù)所述數(shù)據(jù)請求信息向第二域請求數(shù)據(jù);
      [0039]處理模塊,用于接收所述第二域返回的被請求數(shù)據(jù),并將所述被請求數(shù)據(jù)保存在所述第一域的網(wǎng)絡(luò)頁面嵌入式框架的一特定變量中,所述特定變量的值不隨瀏覽器網(wǎng)頁地址的變化而變化、且直到所述瀏覽器會話結(jié)束時消除;
      [0040]設(shè)置模塊,用于將所述第一域的網(wǎng)絡(luò)頁面嵌入式框架的頁面地址設(shè)置為所述第一域的靜態(tài)HTML頁面地址。
      [0041 ] 所述第二獲取模塊包括:
      [0042]監(jiān)聽單元,用于監(jiān)聽哈希變化事件;
      [0043]第一獲取單元,用于在所述監(jiān)聽單元監(jiān)聽到第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值發(fā)生變化時,獲取變化后的哈希值。
      [0044]所述第二獲取模塊包括:
      [0045]監(jiān)測單元,用于按預(yù)設(shè)周期監(jiān)測所述第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值;
      [0046]第二獲取單元,用于當(dāng)所述監(jiān)測單元監(jiān)測到所述哈希值發(fā)生變化時,獲取變化后的哈希值。
      [0047]所述請求模塊包括:
      [0048]請求單元,用于建立異步數(shù)據(jù)請求對象,以AJAX的方式向所述第二域的服務(wù)器請求數(shù)據(jù)。
      [0049]一種終端設(shè)備,終端設(shè)備包括有存儲器,以及一個或者一個以上的程序,其中一個或者一個以上程序存儲于存儲器中,且經(jīng)配置以由一個或者一個以上處理器執(zhí)行所述一個或者一個以上程序包含用于進(jìn)行以下操作的指令:
      [0050]當(dāng)檢測到從第一域向第二域請求數(shù)據(jù)的數(shù)據(jù)請求時,根據(jù)數(shù)據(jù)請求信息生成哈希值,并替換第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值;其中,所述嵌入式框架為預(yù)先在所述第一域的網(wǎng)絡(luò)頁面下創(chuàng)建,且所述嵌入式框架的源文件指向所述第二域的靜態(tài)超文本標(biāo)記語言HTML頁面;
      [0051]將所述第二域返回的被請求數(shù)據(jù)存儲在所述嵌入式框架的特定變量中;
      [0052]通過訪問所述嵌入式框架的特定變量獲取來自所述第二域的被請求數(shù)據(jù),其中,所述特定變量的值不隨瀏覽器網(wǎng)頁地址的變化而變化、且直到所述瀏覽器會話結(jié)束時消除。[0053]本公開提供的技術(shù)方案,為跨域數(shù)據(jù)請求提供了一種多平臺兼容的純客戶端技術(shù)實現(xiàn)方案,相比目前技術(shù),該方案不借助服務(wù)器端運行的腳本語言或其他語言,僅需要借助服務(wù)器來放置一些靜態(tài)HTML頁面就可以實現(xiàn)跨域的HTTP請求(包括GET、POST等任意一種HTTP請求的方法),發(fā)送的數(shù)量不受限制,只要對網(wǎng)絡(luò)頁面進(jìn)行小改動就可以實現(xiàn),實現(xiàn)過程簡單,而且對瀏覽器沒有特殊要求,平臺兼容性較好,同時由于是使用瀏覽器異步對象發(fā)起HTTP請求,所以可以很好的跟蹤整個請求的過程,能捕獲到請求過程中的狀態(tài)和服務(wù)器返回的狀態(tài)碼。
      [0054]應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性的,并不能限制本公開。
      [0055]本公開的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本公開而了解。本公開的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
      [0056]下面通過附圖和實施例,對本公開的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
      【專利附圖】

      【附圖說明】
      [0057]此處所說明的附圖用來提供對本公開的進(jìn)一步理解,構(gòu)成本申請的一部分,并不構(gòu)成對本公開的限定。在附圖中:
      [0058]圖1為本公開實施例中一種網(wǎng)絡(luò)客戶端跨域請求數(shù)據(jù)的實現(xiàn)方法的示例性流程圖;
      [0059]圖2為本公開實施例中另一種網(wǎng)絡(luò)客戶端跨域請求數(shù)據(jù)的實現(xiàn)方法的示例性流程圖;
      [0060]圖3為本公開實施例中網(wǎng)絡(luò)客戶端跨域請求數(shù)據(jù)的詳細(xì)實現(xiàn)方法的示例性流程圖;
      [0061]圖4A為本公開實施例中第一種網(wǎng)絡(luò)客戶端跨域請求數(shù)據(jù)的實現(xiàn)裝置的示例性結(jié)構(gòu)圖;
      [0062]圖4B為本公開實施例中變更模塊的示例性結(jié)構(gòu)圖;
      [0063]圖5A為本公開實施例中第二種網(wǎng)絡(luò)客戶端跨域請求數(shù)據(jù)的實現(xiàn)裝置的示例性結(jié)構(gòu)圖;
      [0064]圖5B為本公開實施例中第二獲取模塊的一種結(jié)構(gòu)示意圖;
      [0065]圖5C為本公開實施例中第二獲取模塊的另一種結(jié)構(gòu)示意圖;
      [0066]圖為本公開實施例中請求模塊的結(jié)構(gòu)示意圖;
      [0067]圖6為本公開實施例中終端設(shè)備示例性結(jié)構(gòu)示意圖。
      【具體實施方式】
      [0068]為使本公開的目的、技術(shù)方案和優(yōu)點更加清楚明白,下面結(jié)合實施方式和附圖,對本公開做進(jìn)一步詳細(xì)說明。在此,本公開的示意性實施方式及其說明用于解釋本公開,但并不作為對本公開的限定。
      [0069]本公開實施例提供一種網(wǎng)絡(luò)客戶端跨域請求數(shù)據(jù)的實現(xiàn)方法,以下結(jié)合附圖對本公開進(jìn)行詳細(xì)說明。[0070]域(Domain)為網(wǎng)絡(luò)操作系統(tǒng)的應(yīng)用模型,既是獨立運行的單位,邏輯組織單元,也是Internet的邏輯組織單元。本公開實施例中的第一域是指請求數(shù)據(jù)方所在域,第二域是指被請求數(shù)據(jù)所在域。本公開實施例借助分別部署在第一域下的HTML (Hyper TextMark-up Language,超文本標(biāo)記語言)頁面和第二域下的HTML頁面實現(xiàn)客戶端的跨域數(shù)據(jù)訪問。
      [0071]在一個實施例中,可在第一域(即請求數(shù)據(jù)方所在域)側(cè)執(zhí)行。如圖1所示,一種網(wǎng)絡(luò)客戶端跨域請求數(shù)據(jù)的實現(xiàn)方法,包括:
      [0072]在步驟Sll中,當(dāng)檢測到從第一域向第二域請求數(shù)據(jù)的數(shù)據(jù)請求時,根據(jù)數(shù)據(jù)請求信息生成哈希值,并替換第一域的網(wǎng)絡(luò)頁面嵌入式框架IFRAME的哈希hash值;其中,IFRAME為預(yù)先在第一域的網(wǎng)絡(luò)頁面下創(chuàng)建,且IFRAME的源文件指向第二域的靜態(tài)超文本標(biāo)記語言HTML頁面。其中,hash值指的是URL (Uniform Resource Locator,統(tǒng)一資源定位符)當(dāng)中#后面的部分,該部分不會被服務(wù)器識別。
      [0073]在一個實施例中,根據(jù)數(shù)據(jù)請求信息生成哈希值,并替換第一域的網(wǎng)絡(luò)頁面嵌入式框架IFRAME的哈希hash值可以是根據(jù)數(shù)據(jù)請求信息,通過腳本(如JavaScript腳本)動態(tài)生成哈希值;將生成的哈希值替換第一域的網(wǎng)絡(luò)頁面嵌入式框架IFRAME的哈希值。當(dāng)然,除了該方式以外,還可以通過其它可行方式實現(xiàn)。
      [0074]在步驟S12中,將第二域返回的被請求數(shù)據(jù)存儲在IFRAME的特定變量中。
      [0075]在步驟S13中,通過訪問IFRAME的特定變量獲取來自第二域的被請求數(shù)據(jù),其中,特定變量中存有來自第二域的被請求數(shù)據(jù),該特定變量的值不隨瀏覽器網(wǎng)頁地址的變化而變化、且直到瀏覽器會話結(jié)束時消除。
      [0076]較佳的,該特定變量可以是window, name。window, name的特點是它的值不隨瀏覽器頁面地址的變化而改變,會一直存在內(nèi)存中直到當(dāng)前瀏覽器頁面的會話結(jié)束后消除(這種特性被所有現(xiàn)代瀏覽器實現(xiàn))。
      [0077]在一個實施例中,對應(yīng)上述圖1中的網(wǎng)絡(luò)客戶端跨域請求的實現(xiàn)方法,可由第二域(即被請求數(shù)據(jù)所在域)的靜態(tài)HTML頁面執(zhí)行。如圖2所示,一種網(wǎng)絡(luò)客戶端跨域請求數(shù)據(jù)的實現(xiàn)方法,包括:
      [0078]在步驟S21中,獲取第一域的網(wǎng)絡(luò)頁面的嵌入式框架IFRAME的變化后的hash值,該變化后的hash值包括數(shù)據(jù)請求信息,該第一域為請求數(shù)據(jù)方所在域。
      [0079]在一個實施例中,步驟S21可包括以下步驟A1-A2:
      [0080]在步驟Al中,監(jiān)聽哈希變化事件。
      [0081]在步驟A2中,當(dāng)監(jiān)聽到第一域的網(wǎng)絡(luò)頁面的IFRAME的hash值發(fā)生變化時,獲取變化后的hash值。由于第一域的網(wǎng)絡(luò)頁面檢測到從第一域向第二域請求數(shù)據(jù)的數(shù)據(jù)請求時,根據(jù)數(shù)據(jù)請求信息生成哈希值,并替換第一域的網(wǎng)絡(luò)頁面IFRAME的哈希值,因此第一域的網(wǎng)絡(luò)頁面的IFRAME的哈希值會發(fā)生變化。
      [0082]在一個實施例中,步驟S21還可包括以下步驟B1-B2:
      [0083]在步驟BI中,按預(yù)設(shè)周期監(jiān)測第一域的網(wǎng)絡(luò)頁面的IFRAME的hash值。
      [0084]在步驟B2中,當(dāng)監(jiān)測到hash值發(fā)生變化時,獲取變化后的hash值。
      [0085]在步驟S22中,根據(jù)數(shù)據(jù)請求信息向第二域請求數(shù)據(jù)。在瀏覽器中資源塊可以運行客戶端腳本(HTML頁面),實現(xiàn)根據(jù)數(shù)據(jù)請求信息向第二域請求數(shù)據(jù)的過程。[0086]在一個實施例中,步驟S22可實施為以下方式:建立異步數(shù)據(jù)請求對象,以AJAX的方式向第二域的服務(wù)器請求數(shù)據(jù)。
      [0087]在步驟S23中,接收來自第二域的被請求數(shù)據(jù),并將來自第二域的被請求數(shù)據(jù)保存在第一域的網(wǎng)絡(luò)頁面的IFRAME的特定變量中,該特定變量的值不隨瀏覽器網(wǎng)頁地址的變化而變化、且直到瀏覽器會話結(jié)束時消除。
      [0088]在步驟S24中,將第一域的網(wǎng)絡(luò)頁面的IFRAME的頁面地址設(shè)置為第一域的靜態(tài)HTML頁面地址。
      [0089]在一個實施例中,如圖3所示,以一詳細(xì)實施例來說明本公開實施例提供的技術(shù)方案。本實施例中,A域為請求數(shù)據(jù)方所在域(即上述第一域),B域為被請求數(shù)據(jù)所在域(SP上述第二域)。當(dāng)欲從A域獲得B域的數(shù)據(jù)時,按如下步驟進(jìn)行:
      [0090]在步驟S31中,在A域下部署一個靜態(tài)HTML頁面a,在B域下部署一個靜態(tài)HTML頁面b。
      [0091]例如,部署在A域下的靜態(tài)HTML頁面a作用是接收來自B域返回的被請求數(shù)據(jù)。而B域下的靜態(tài)HTML頁面b作用是接收來自A域的數(shù)據(jù)請求信息,同時向B域服務(wù)器發(fā)送HTTP請求,并將被請求數(shù)據(jù)返回給A域。
      [0092]在步驟S32中,當(dāng)需要從A域向B域發(fā)送一個跨域數(shù)據(jù)請求時,在A域的網(wǎng)絡(luò)頁面下創(chuàng)建一個IFRAME,并將IFRAME的src指向部署在B域下的靜態(tài)HTML頁面b。
      [0093]在步驟S33中,當(dāng)IFRAME創(chuàng)建完成后,A域的網(wǎng)絡(luò)頁面通過JavaScript腳本動態(tài)改變IFRAME的hash值。
      [0094]在步驟S34中,B域的靜態(tài)HTML頁面b獲取變化后的hash值。
      [0095]其中,當(dāng)瀏覽器支持hashChange事件時,則B域的HTML頁面b可以監(jiān)聽hashChange事件,由于A域的網(wǎng)絡(luò)頁面的IFRAME的源文件指向B域的靜態(tài)HTML頁面b,因此當(dāng)監(jiān)聽到A域的網(wǎng)絡(luò)頁面的IFRAME的hash值change時,B域的HTML頁面b獲得變化后的hash值;
      [0096]當(dāng)瀏覽器不支持hashChange事件時,也可以使用計時器來輪詢hash值的變化,當(dāng)發(fā)現(xiàn)hash值變化時,獲得變化后的hash值。
      [0097]其中,變化后的hash值包含必要的數(shù)據(jù)請求信息,例如請求服務(wù)器的接口地址和請求參數(shù)等。
      [0098]在步驟S35中,B域的靜態(tài)HTML頁面b向B域所在的服務(wù)器請求數(shù)據(jù)。
      [0099]其中,B域的靜態(tài)HTML頁面b可建立一個異步數(shù)據(jù)請求對象,以AJAX的方式來請求服務(wù)器數(shù)據(jù)(在這個過程中,服務(wù)器的狀態(tài)碼可以被捕獲,原因是瀏覽器原生的異步請求對象可以獲得這些信息)。
      [0100]在步驟S36中,B域所在的服務(wù)器將被請求數(shù)據(jù)傳遞到B域的靜態(tài)HTML頁面b,這些被請求數(shù)據(jù)被保存到A域的網(wǎng)絡(luò)頁面IFRAME的一特定變量window, name中。
      [0101]其中,window, name的特點是window, name的值不隨瀏覽器頁面地址的變化而改變,會一直存在內(nèi)存中直到當(dāng)前瀏覽器頁面的會話結(jié)束后消除(這種特性被所有現(xiàn)代瀏覽器實現(xiàn))。
      [0102]在步驟S37中,B域的靜態(tài)HTML頁面b將A域的網(wǎng)絡(luò)頁面IFRAME的頁面地址設(shè)置為A域的靜態(tài)HTML頁面a的地址。[0103]在步驟S38中,A域的靜態(tài)HTML頁面a通過訪問A域的網(wǎng)絡(luò)頁面的IFRAME的window, name獲得來自B域的被請求數(shù)據(jù)。(因為此時IFRAME所指向頁面也在A域下,所以可以訪問IFRAME內(nèi)的變量值)
      [0104]到此,實現(xiàn)了從A域到B域的跨域數(shù)據(jù)訪問。
      [0105]可見,本公開實施例提供的技術(shù)方案,為跨域數(shù)據(jù)請求提供了一種多平臺兼容的純客戶端技術(shù)實現(xiàn)方案,相比目前技術(shù),該方案不借助服務(wù)器端運行的腳本語言或其他語言,僅需要借助服務(wù)器來放置一些靜態(tài)HTML頁面就可以實現(xiàn)跨域的HTTP請求(包括GET、POST等任意一種HTTP請求的方法),發(fā)送的數(shù)量不受限制,只要對網(wǎng)絡(luò)頁面進(jìn)行小改動就可以實現(xiàn),實現(xiàn)過程簡單,而且對瀏覽器沒有特殊要求,平臺兼容性較好,同時由于是使用瀏覽器異步對象發(fā)起HTTP請求,所以可以很好的跟蹤整個請求的過程,能捕獲到請求過程中的狀態(tài)和服務(wù)器返回的狀態(tài)碼。
      [0106]在一個實施例中,對應(yīng)上述圖1中的網(wǎng)絡(luò)客戶端跨域請求的實現(xiàn)方法,如圖4A所示,本公開實施例提供了一種網(wǎng)絡(luò)客戶端跨域請求的實現(xiàn)裝置,包括:
      [0107]變更模塊41,用于當(dāng)檢測到從第一域向第二域請求數(shù)據(jù)的數(shù)據(jù)請求時,根據(jù)數(shù)據(jù)請求信息生成哈希值,并替換第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值;其中,嵌入式框架為預(yù)先在第一域的網(wǎng)絡(luò)頁面下創(chuàng)建,且嵌入式框架的源文件指向第二域的靜態(tài)超文本標(biāo)記語言HTML頁面;
      [0108]存儲模塊42,用于將第二域返回的被請求數(shù)據(jù)存儲在嵌入式框架的特定變量中;
      [0109]第一獲取模塊43,用于通過訪問嵌入式框架的特定變量獲取來自第二域的被請求數(shù)據(jù),其中,特定變量的值不隨瀏覽器網(wǎng)頁地址的變化而變化、且直到瀏覽器會話結(jié)束時消除。
      [0110]在一個實施例中,如圖4B所示,上述變更模塊41可包括:
      [0111]生成單元411,用于根據(jù)數(shù)據(jù)請求信息,通過腳本動態(tài)生成哈希值;
      [0112]變更單元412,用于將生成的哈希值替換第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值。
      [0113]在一個實施例中,對應(yīng)上述圖2中的網(wǎng)絡(luò)客戶端跨域請求的實現(xiàn)方法,如圖5A所示,本公開實施例提供了一種網(wǎng)絡(luò)客戶端跨域請求的實現(xiàn)裝置,包括:
      [0114]第二獲取模塊51,用于獲取第一域的網(wǎng)絡(luò)頁面嵌入式框架的變化后的哈希值,變化后的哈希值包括數(shù)據(jù)請求信息,第一域為請求數(shù)據(jù)方所在域;
      [0115]請求模塊52,用于根據(jù)數(shù)據(jù)請求信息向第二域請求數(shù)據(jù);
      [0116]處理模塊53,用于接收第二域返回的被請求數(shù)據(jù),并將被請求數(shù)據(jù)保存在第一域的網(wǎng)絡(luò)頁面嵌入式框架的一特定變量中,特定變量的值不隨瀏覽器網(wǎng)頁地址的變化而變化、且直到瀏覽器會話結(jié)束時消除;
      [0117]設(shè)置模塊54,用于將第一域的網(wǎng)絡(luò)頁面嵌入式框架的頁面地址設(shè)置為第一域的靜態(tài)HTML頁面地址。
      [0118]在一個實施例中,如圖5B所示,上述第二獲取模塊51可包括:
      [0119]監(jiān)聽單元511,用于監(jiān)聽hash變化事件;
      [0120]第一獲取單元512,用于在監(jiān)聽單元511監(jiān)聽到第一域的網(wǎng)絡(luò)頁面的IFRAME的hash值發(fā)生變化時,獲取變化后的hash值。
      [0121]在一個實施例中,如圖5C所示,上述第二獲取模塊51可包括:[0122]監(jiān)測單元513,用于按預(yù)設(shè)周期監(jiān)測第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值;
      [0123]第二獲取單元514,用于當(dāng)監(jiān)測單元513監(jiān)測到哈希值發(fā)生變化時,獲取變化后的哈希值。
      [0124]在一個實施例中,如圖所示,上述請求模塊52可包括:
      [0125]請求單元515,用于建立異步數(shù)據(jù)請求對象,以AJAX的方式向第二域的服務(wù)器請求數(shù)據(jù)。
      [0126]此外,典型地,本公開所述的移動終端可為各種手持終端設(shè)備,例如手機、個人數(shù)字助理(PDA)等,因此本公開的保護范圍不應(yīng)限定為某種特定類型的移動終端。
      [0127]此外,根據(jù)本公開的方法還可以被實現(xiàn)為由中央處理器CPU執(zhí)行的計算機程序。在該計算機程序被CPU執(zhí)行時,執(zhí)行本公開的方法中限定的上述功能。
      [0128]此外,上述方法步驟以及系統(tǒng)單元也可以利用控制器以及用于存儲使得控制器實現(xiàn)上述步驟或單元功能的計算機程序的計算機可讀存儲設(shè)備實現(xiàn)。
      [0129]圖6是本公開實施例中終端設(shè)備(可以是請求方終端或者相關(guān)聯(lián)終端)結(jié)構(gòu)示意圖。參見圖6,該終端可以用于實施上述實施例中提供的網(wǎng)絡(luò)客戶端跨域請求數(shù)據(jù)的實現(xiàn)方法。
      [0130]終端設(shè)備800可以包括通信單元110、包括有一個或一個以上計算機可讀存儲介質(zhì)的存儲器120、輸入單元130、顯示單元140、傳感器150、音頻電路160、WIFI (WirelessFidelity,無線保真)模塊170、包括有一個或者一個以上處理核心的處理器180、以及電源190等部件。本領(lǐng)域技術(shù)人員可以理解,圖中示出的終端設(shè)備結(jié)構(gòu)并不構(gòu)成對終端設(shè)備的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。其中:
      [0131]通信單元110可用于收發(fā)信息或通話過程中,信號的接收和發(fā)送,該通信單元110可以為RF (Radio Frequency,射頻)電路、路由器、調(diào)制解調(diào)器、等網(wǎng)絡(luò)通信設(shè)備。特別地,當(dāng)通信單元110為RF電路時,將基站的下行信息接收后,交由一個或者一個以上處理器180處理;另外,將涉及上行的數(shù)據(jù)發(fā)送給基站。通常,作為通信單元的RF電路包括但不限于天線、至少一個放大器、調(diào)諧器、一個或多個振蕩器、用戶身份模塊(SIM)卡、收發(fā)信機、耦合器、LNA(Low Noise Amplifier,低噪聲放大器)、雙工器等。此外,通信單元110還可以通過無線通信與網(wǎng)絡(luò)和其他設(shè)備通信。所述無線通信可以使用任一通信標(biāo)準(zhǔn)或協(xié)議,包括但不限于 GSM (Global System of Mobile communication,全球移動通訊系統(tǒng))、GPRS (GeneralPacket Radio Service,通用分組無線服務(wù))、CDMA (Code Division Multiple Access,石馬分多址)、WCDMA (Wideband Code Division Multiple Access,寬帶碼分多址)、LTE (LongTerm Evolution,長期演進(jìn))、電子郵件、SMS (Short Messaging Service,短消息服務(wù))等。存儲器120可用于存儲軟件程序以及模塊,處理器180通過運行存儲在存儲器120的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理。存儲器120可主要包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲數(shù)據(jù)區(qū)可存儲根據(jù)終端設(shè)備800的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲器120可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。相應(yīng)地,存儲器120還可以包括存儲器控制器,以提供處理器180和輸入單元130對存儲器120的訪問。[0132]輸入單元130可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與用戶設(shè)置以及功能控制有關(guān)的鍵盤、鼠標(biāo)、操作桿、光學(xué)或者軌跡球信號輸入。優(yōu)選地,輸入單元130可包括觸敏表面131以及其他輸入設(shè)備132。觸敏表面131,也稱為觸摸顯示屏或者觸控板,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸敏表面131上或在觸敏表面131附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動相應(yīng)的連接裝置。可選的,觸敏表面131可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點坐標(biāo),再送給處理器180,并能接收處理器180發(fā)來的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實現(xiàn)觸敏表面131。除了觸敏表面131,輸入單元130還可以包括其他輸入設(shè)備132。優(yōu)選地,其他輸入設(shè)備132可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關(guān)按鍵等)、軌跡球、鼠標(biāo)、操作桿等中的一種或多種。
      [0133]顯示單元140可用于顯示由用戶輸入的信息或提供給用戶的信息以及終端設(shè)備800的各種圖形用戶接口,這些圖形用戶接口可以由圖形、文本、圖標(biāo)、視頻和其任意組合來構(gòu)成。顯示單元140可包括顯示面板141,可選的,可以采用LOXLiquid Crystal Display,液晶顯示器)、0LED (Organic Light-Emitting Diode,有機發(fā)光二極管)等形式來配置顯示面板141。進(jìn)一步的,觸敏表面131可覆蓋顯示面板141,當(dāng)觸敏表面131檢測到在其上或附近的觸摸操作后,傳送給處理器180以確定觸摸事件的類型,隨后處理器180根據(jù)觸摸事件的類型在顯示面板141上提供相應(yīng)的視覺輸出。雖然在圖6中,觸敏表面131與顯示面板141是作為兩個獨立的部件來實現(xiàn)輸入和輸入功能,但是在某些實施例中,可以將觸敏表面131與顯示面板141集成而實現(xiàn)輸入和輸出功能。
      [0134]終端設(shè)備800還可包括至少一種傳感器150,比如光傳感器、運動傳感器以及其他傳感器。光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來調(diào)節(jié)顯示面板141的亮度,接近傳感器可在終端設(shè)備800移動到耳邊時,關(guān)閉顯示面板141和/或背光。作為運動傳感器的一種,重力加速度傳感器可檢測各個方向上(一般為三軸)加速度的大小,靜止時可檢測出重力的大小及方向,可用于識別手機姿態(tài)的應(yīng)用(比如橫豎屏切換、相關(guān)游戲、磁力計姿態(tài)校準(zhǔn))、振動識別相關(guān)功能(比如計步器、敲擊)等;至于終端設(shè)備800還可配置的陀螺儀、氣壓計、濕度計、溫度計、紅外線傳感器等其他傳感器,在此不再贅述。
      [0135]音頻電路160、揚聲器161,傳聲器162可提供用戶與終端設(shè)備800之間的音頻接口。音頻電路160可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換后的電信號,傳輸?shù)綋P聲器161,由揚聲器161轉(zhuǎn)換為聲音信號輸出;另一方面,傳聲器162將收集的聲音信號轉(zhuǎn)換為電信號,由音頻電路160接收后轉(zhuǎn)換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器180處理后,經(jīng)RF電路110以發(fā)送給比如另一終端設(shè)備,或者將音頻數(shù)據(jù)輸出至存儲器120以便進(jìn)一步處理。音頻電路160還可能包括耳塞插孔,以提供外設(shè)耳機與終端設(shè)備800的通信。
      [0136]為了實現(xiàn)無線通信,該終端設(shè)備上可以配置有無線通信單元170,該無線通信單元170可以為WIFI模塊。WIFI屬于短距離無線傳輸技術(shù),終端設(shè)備800通過無線通信單元170可以幫助用戶收發(fā)電子郵件、瀏覽網(wǎng)頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯(lián)網(wǎng)訪問。雖然圖中示出了無線通信單元170,但是可以理解的是,其并不屬于終端設(shè)備800的必須構(gòu)成,完全可以根據(jù)需要在不改變發(fā)明的本質(zhì)的范圍內(nèi)而省略。
      [0137]處理器180是終端設(shè)備800的控制中心,利用各種接口和線路連接整個手機的各個部分,通過運行或執(zhí)行存儲在存儲器120內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲在存儲器120內(nèi)的數(shù)據(jù),執(zhí)行終端設(shè)備800的各種功能和處理數(shù)據(jù),從而對手機進(jìn)行整體監(jiān)控??蛇x的,處理器180可包括一個或多個處理核心;優(yōu)選的,處理器180可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無線通信??梢岳斫獾氖牵鲜稣{(diào)制解調(diào)處理器也可以不集成到處理器180中。
      [0138]終端設(shè)備800還包括給各個部件供電的電源190 (比如電池),優(yōu)選的,電源可以通過電源管理系統(tǒng)與處理器180邏輯相連,從而通過電源管理系統(tǒng)實現(xiàn)管理充電、放電、以及功耗管理等功能。電源190還可以包括一個或一個以上的直流或交流電源、再充電系統(tǒng)、電源故障檢測電路、電源轉(zhuǎn)換器或者逆變器、電源狀態(tài)指示器等任意組件。
      [0139]盡管未示出,終端設(shè)備800還可以包括攝像頭、藍(lán)牙模塊等,在此不再贅述。在本實施例中,終端設(shè)備還包括有存儲器,以及一個或者一個以上的程序,其中一個或者一個以上程序存儲于存儲器中,且經(jīng)配置以由一個或者一個以上處理器執(zhí)行所述一個或者一個以上程序包含用于進(jìn)行本公開實施例提供的截取屏幕圖片方法的以下指令:
      [0140]當(dāng)檢測到從第一域向第二域請求數(shù)據(jù)的數(shù)據(jù)請求時,根據(jù)數(shù)據(jù)請求信息生成哈希值,并替換第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值;其中,嵌入式框架為預(yù)先在第一域的網(wǎng)絡(luò)頁面下創(chuàng)建,且所述嵌入式框架的源文件指向第二域的靜態(tài)超文本標(biāo)記語言HTML頁面;
      [0141]將第二域返回的被請求數(shù)據(jù)存儲在嵌入式框架的特定變量中;
      [0142]通過訪問嵌入式框架的特定變量獲取來自第二域的被請求數(shù)據(jù),其中,特定變量的值不隨瀏覽器網(wǎng)頁地址的變化而變化、且直到瀏覽器會話結(jié)束時消除。
      [0143]例如,該存儲器中還存儲以下指令:根據(jù)數(shù)據(jù)請求信息,通過腳本動態(tài)生成哈希值;將生成的哈希值替換第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值。
      [0144]在另一實施例中,終端設(shè)備還包括有存儲器,以及一個或者一個以上的程序,其中一個或者一個以上程序存儲于存儲器中,且經(jīng)配置以由一個或者一個以上處理器執(zhí)行所述一個或者一個以上程序包含用于進(jìn)行本公開實施例提供的截取屏幕圖片方法的以下指令:
      [0145]獲取第一域的網(wǎng)絡(luò)頁面嵌入式框架的變化后的哈希值,所述變化后的哈希值包括數(shù)據(jù)請求信息,所述第一域為請求數(shù)據(jù)方所在域;
      [0146]根據(jù)所述數(shù)據(jù)請求信息向第二域請求數(shù)據(jù);
      [0147]接收所述第二域返回的被請求數(shù)據(jù),并將所述被請求數(shù)據(jù)保存在所述第一域的網(wǎng)絡(luò)頁面嵌入式框架的特定變量中,所述特定變量的值不隨瀏覽器網(wǎng)頁地址的變化而變化、且直到所述瀏覽器會話結(jié)束時消除;
      [0148]將所述第一域的網(wǎng)絡(luò)頁面嵌入式框架的頁面地址設(shè)置為所述第一域的靜態(tài)HTML頁面地址。
      [0149]例如,該存儲器中還存儲以下指令:監(jiān)聽哈希變化事件;當(dāng)監(jiān)聽到所述第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值發(fā)生變化時,獲取變化后的哈希值。
      [0150]例如,該存儲器中還存儲以下指令:按預(yù)設(shè)周期監(jiān)測所述第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值;當(dāng)監(jiān)測到所述哈希值發(fā)生變化時,獲取變化后的哈希值。
      [0151]例如,該存儲器中還存儲以下指令:建立異步數(shù)據(jù)請求對象,以AJAX的方式向所述第二域的服務(wù)器請求數(shù)據(jù)。
      [0152]此外,應(yīng)該明白的是,本文所述的計算機可讀存儲設(shè)備(例如,存儲器)可以是易失性存儲器或非易失性存儲器,或者可以包括易失性存儲器和非易失性存儲器兩者。作為例子而非限制性的,非易失性存儲器可以包括只讀存儲器(ROM)、可編程ROM (PR0M)、電可編程ROM (EPROM)、電可擦寫可編程ROM (EEPROM)或快閃存儲器。易失性存儲器可以包括隨機存取存儲器(RAM),該RAM可以充當(dāng)外部高速緩存存儲器。作為例子而非限制性的,RAM可以以多種形式獲得,比如同步RAM (DRAM)、動態(tài)RAM (DRAM)、同步DRAM (SDRAM)、雙數(shù)據(jù)速率 SDRAM (DDR SDRAM)、增強 SDRAM (ESDRAM)、同步鏈路 DRAM (SLDRAM)以及直接 RambusRAM (DRRAM)0所公開的方面的存儲設(shè)備意在包括但不限于這些和其它合適類型的存儲器。
      [0153]本領(lǐng)域技術(shù)人員還將明白的是,結(jié)合這里的公開所描述的各種示例性邏輯塊、模塊、電路和算法步驟可以被實現(xiàn)為電子硬件、計算機軟件或兩者的組合。為了清楚地說明硬件和軟件的這種可互換性,已經(jīng)就各種示意性組件、方塊、模塊、電路和步驟的功能對其進(jìn)行了一般性的描述。這種功能是被實現(xiàn)為軟件還是被實現(xiàn)為硬件取決于具體應(yīng)用以及施加給整個系統(tǒng)的設(shè)計約束。本領(lǐng)域技術(shù)人員可以針對每種具體應(yīng)用以各種方式來實現(xiàn)所述的功能,但是這種實現(xiàn)決定不應(yīng)被解釋為導(dǎo)致脫離本公開的范圍。
      [0154]結(jié)合這里的公開所描述的各種示例性邏輯塊、模塊和電路可以利用被設(shè)計成用于執(zhí)行這里所述功能的下列部件來實現(xiàn)或執(zhí)行:通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或其它可編程邏輯器件、分立門或晶體管邏輯、分立的硬件組件或者這些部件的任何組合。通用處理器可以是微處理器,但是可替換地,處理器可以是任何傳統(tǒng)處理器、控制器、微控制器或狀態(tài)機。處理器也可以被實現(xiàn)為計算設(shè)備的組合,例如,DSP和微處理器的組合、多個微處理器、一個或多個微處理器結(jié)合DSP核、或任何其它這種配置。
      [0155]結(jié)合這里的公開所描述的方法或算法的步驟可以直接包含在硬件中、由處理器執(zhí)行的軟件模塊中或這兩者的組合中。軟件模塊可以駐留在RAM存儲器、快閃存儲器、ROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬盤、可移動盤、CD-ROM、或本領(lǐng)域已知的任何其它形式的存儲介質(zhì)中。示例性的存儲介質(zhì)被耦合到處理器,使得處理器能夠從該存儲介質(zhì)中讀取信息或向該存儲介質(zhì)寫入信息。在一個替換方案中,所述存儲介質(zhì)可以與處理器集成在一起。處理器和存儲介質(zhì)可以駐留在ASIC中。ASIC可以駐留在用戶終端中。在一個替換方案中,處理器和存儲介質(zhì)可以作為分立組件駐留在用戶終端中。
      [0156]在一個或多個示例性設(shè)計中,所述功能可以在硬件、軟件、固件或其任意組合中實現(xiàn)。如果在軟件中實現(xiàn),則可以將所述功能作為一個或多個指令或代碼存儲在計算機可讀介質(zhì)上或通過計算機可讀介質(zhì)來傳送。計算機可讀介質(zhì)包括計算機存儲介質(zhì)和通信介質(zhì),該通信介質(zhì)包括有助于將計算機程序從一個位置傳送到另一個位置的任何介質(zhì)。存儲介質(zhì)可以是能夠被通用或?qū)S糜嬎銠C訪問的任何可用介質(zhì)。作為例子而非限制性的,該計算機可讀介質(zhì)可以包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲設(shè)備、磁盤存儲設(shè)備或其它磁性存儲設(shè)備,或者是可以用于攜帶或存儲形式為指令或數(shù)據(jù)結(jié)構(gòu)的所需程序代碼并且能夠被通用或?qū)S糜嬎銠C或者通用或?qū)S锰幚砥髟L問的任何其它介質(zhì)。此外,任何連接都可以適當(dāng)?shù)胤Q為計算機可讀介質(zhì)。例如,如果使用同軸線纜、光纖線纜、雙絞線、數(shù)字用戶線路(DSL)或諸如紅外線、無線電和微波的無線技術(shù)來從網(wǎng)站、服務(wù)器或其它遠(yuǎn)程源發(fā)送軟件,則上述同軸線纜、光纖線纜、雙絞線、DSL或諸如紅外先、無線電和微波的無線技術(shù)均包括在介質(zhì)的定義。如這里所使用的,磁盤和光盤包括壓縮盤(CD)、激光盤、光盤、數(shù)字多功能盤(DVD)、軟盤、藍(lán)光盤,其中磁盤通常磁性地再現(xiàn)數(shù)據(jù),而光盤利用激光光學(xué)地再現(xiàn)數(shù)據(jù)。上述內(nèi)容的組合也應(yīng)當(dāng)包括在計算機可讀介質(zhì)的范圍內(nèi)。
      [0157]盡管前面公開的內(nèi)容示出了本公開的示例性實施例,但是應(yīng)當(dāng)注意,在不背離權(quán)利要求限定的本公開的范圍的前提下,可以進(jìn)行多種改變和修改。根據(jù)這里描述的公開實施例的方法權(quán)利要求的功能、步驟和/或動作不需以任何特定順序執(zhí)行。此外,盡管本公開的元素可以以個體形式描述或要求,但是也可以設(shè)想多個,除非明確限制為單數(shù)。
      [0158]以上所述的【具體實施方式】,對本公開的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本公開的【具體實施方式】而已,并不用于限定本公開的保護范圍,凡在本公開的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本公開的保護范圍之內(nèi)。
      【權(quán)利要求】
      1.一種網(wǎng)絡(luò)客戶端跨域請求數(shù)據(jù)的實現(xiàn)方法,其特征在于,包括: 當(dāng)檢測到從第一域向第二域請求數(shù)據(jù)的數(shù)據(jù)請求時,根據(jù)數(shù)據(jù)請求信息生成哈希值,并替換第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值;其中,所述嵌入式框架為預(yù)先在所述第一域的網(wǎng)絡(luò)頁面下創(chuàng)建,且所述嵌入式框架的源文件指向所述第二域的靜態(tài)超文本標(biāo)記語言HTML頁面; 將所述第二域返回的被請求數(shù)據(jù)存儲在所述嵌入式框架的特定變量中; 通過訪問所述嵌入式框架的特定變量獲取來自所述第二域的被請求數(shù)據(jù),其中,所述特定變量的值不隨瀏覽器網(wǎng)頁地址的變化而變化、且直到所述瀏覽器會話結(jié)束時消除。
      2.如權(quán)利要求1所述的實現(xiàn)方法,其特征在于,所述根據(jù)數(shù)據(jù)請求信息生成哈希值,并替換第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值,包括: 根據(jù)數(shù)據(jù)請求信息,通過腳本動態(tài)生成哈希值; 將生成的哈希值替換第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值。
      3.—種網(wǎng)絡(luò)客戶端跨域請求的實現(xiàn)方法,其特征在于,包括: 獲取第一域的網(wǎng)絡(luò)頁面嵌入式框架的變化后的哈希值,所述變化后的哈希值包括數(shù)據(jù)請求信息,所述第一域為請求數(shù)據(jù)方所在域; 根據(jù)所述數(shù)據(jù)請求信息向第二域請求數(shù)據(jù); 接收所述第二域返回的被請求數(shù)據(jù),并將所述被請求數(shù)據(jù)保存在所述第一域的網(wǎng)絡(luò)頁面嵌入式框架的特定變量中,所述特定變量的值不隨瀏覽器網(wǎng)頁地址的變化而變化、且直到所述瀏覽器會話結(jié)束時消除; 將所述第一域的網(wǎng)絡(luò)頁面嵌入式框架的頁面地址設(shè)置為所述第一域的靜態(tài)HTML頁面地址。
      4.如權(quán)利要求3所述的實現(xiàn)方法,其特征在于,所述獲取第一域的網(wǎng)絡(luò)頁面嵌入式框架的變化后的哈希值,包括: 監(jiān)聽哈希變化事件; 當(dāng)監(jiān)聽到所述第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值發(fā)生變化時,獲取變化后的哈希值。
      5.如權(quán)利要求3所述的實現(xiàn)方法,其特征在于,所述獲取第一域的網(wǎng)絡(luò)頁面嵌入式框架的變化后的哈希值,包括: 按預(yù)設(shè)周期監(jiān)測所述第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值; 當(dāng)監(jiān)測到所述哈希值發(fā)生變化時,獲取變化后的哈希值。
      6.如權(quán)利要求3所述的實現(xiàn)方法,其特征在于,所述根據(jù)所述數(shù)據(jù)請求信息向第二域請求數(shù)據(jù),包括: 建立異步數(shù)據(jù)請求對象,以AJAX的方式向所述第二域的服務(wù)器請求數(shù)據(jù)。
      7.—種網(wǎng)絡(luò)客戶端跨域請求的實現(xiàn)裝置,其特征在于,包括: 變更模塊,用于當(dāng)檢測到從第一域向第二域請求數(shù)據(jù)的數(shù)據(jù)請求時,根據(jù)數(shù)據(jù)請求信息生成哈希值,并替換第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值;其中,所述嵌入式框架為預(yù)先在所述第一域的網(wǎng)絡(luò)頁面下創(chuàng)建,且所述嵌入式框架的源文件指向所述第二域的靜態(tài)超文本標(biāo)記語言HTML頁面; 存儲模塊,用于將所述第二域返回的被請求數(shù)據(jù)存儲在所述嵌入式框架的特定變量中; 第一獲取模塊,用于通過訪問所述嵌入式框架的特定變量獲取來自所述第二域的被請求數(shù)據(jù),其中,所述特定變量的值不隨瀏覽器網(wǎng)頁地址的變化而變化、且直到所述瀏覽器會話結(jié)束時消除。
      8.如權(quán)利要求7所述的實現(xiàn)裝置,其特征在于,所述變更模塊包括: 生成單元,用于根據(jù)數(shù)據(jù)請求信息,通過腳本動態(tài)生成哈希值; 變更單元,用于將生成的哈希值替換第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值。
      9.一種網(wǎng)絡(luò)客戶端跨域請求的實現(xiàn)裝置,其特征在于,包括: 第二獲取模塊,用于獲取第一域的網(wǎng)絡(luò)頁面嵌入式框架的變化后的哈希值,所述變化后的哈希值包括數(shù)據(jù)請求信息,所述第一域為請求數(shù)據(jù)方所在域; 請求模塊,用于根據(jù)所述數(shù)據(jù)請求信息向第二域請求數(shù)據(jù); 處理模塊,用于接收所述第二域返回的被請求數(shù)據(jù),并將所述被請求數(shù)據(jù)保存在所述第一域的網(wǎng)絡(luò)頁面嵌入式框架的特定變量中,所述特定變量的值不隨瀏覽器網(wǎng)頁地址的變化而變化、且直到所述瀏覽器會話結(jié)束時消除; 設(shè)置模塊,用于將所述第一域的網(wǎng)絡(luò)頁面嵌入式框架的頁面地址設(shè)置為所述第一域的靜態(tài)HTML頁面地址。
      10.如權(quán)利要求9所述的實現(xiàn)裝置,其特征在于,所述第二獲取模塊包括: 監(jiān)聽單元,用于監(jiān)聽哈希變化事件; 第一獲取單元,用于在所述監(jiān)聽單元監(jiān)聽到第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值發(fā)生變化時,獲取變化后的哈希值。
      11.如權(quán)利要求9所述的實現(xiàn)裝置,其特征在于,所述第二獲取模塊包括: 監(jiān)測單元,用于按預(yù)設(shè)周期監(jiān)測所述第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值; 第二獲取單元,用于當(dāng)所述監(jiān)測單元監(jiān)測到所述哈希值發(fā)生變化時,獲取變化后的哈希值。
      12.如權(quán)利要求9所述的實現(xiàn)裝置,其特征在于,所述請求模塊包括: 請求單元,用于建立異步數(shù)據(jù)請求對象,以AJAX的方式向所述第二域的服務(wù)器請求數(shù)據(jù)。
      13.—種終端設(shè)備,其特征在于,終端設(shè)備包括有存儲器,以及一個或者一個以上的程序,其中一個或者一個以上程序存儲于存儲器中,且經(jīng)配置以由一個或者一個以上處理器執(zhí)行所述一個或者一個以上程序包含用于進(jìn)行以下操作的指令: 當(dāng)檢測到從第一域向第二域請求數(shù)據(jù)的數(shù)據(jù)請求時,根據(jù)數(shù)據(jù)請求信息生成哈希值,并替換第一域的網(wǎng)絡(luò)頁面嵌入式框架的哈希值;其中,所述嵌入式框架為預(yù)先在所述第一域的網(wǎng)絡(luò)頁面下創(chuàng)建,且所述嵌入式框架的源文件指向所述第二域的靜態(tài)超文本標(biāo)記語言HTML頁面; 將所述第二域返回的被請求數(shù)據(jù)存儲在所述嵌入式框架的特定變量中; 通過訪問所述嵌入式框架的特定變量獲取來自所述第二域的被請求數(shù)據(jù),其中,所述特定變量的值不隨瀏覽器網(wǎng)頁地址的變化而變化、且直到所述瀏覽器會話結(jié)束時消除。
      【文檔編號】G06F17/30GK103546570SQ201310521118
      【公開日】2014年1月29日 申請日期:2013年10月29日 優(yōu)先權(quán)日:2013年10月29日
      【發(fā)明者】任遠(yuǎn), 姚麗梅, 王宗妮 申請人:小米科技有限責(zé)任公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1