欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于瀏覽器協(xié)議的跨瀏覽器數(shù)據(jù)交互方法和裝置與流程

文檔序號(hào):12493931閱讀:1219來(lái)源:國(guó)知局
一種基于瀏覽器協(xié)議的跨瀏覽器數(shù)據(jù)交互方法和裝置與流程

本發(fā)明涉及一種基于瀏覽器協(xié)議的跨瀏覽器數(shù)據(jù)交互方法和裝置,屬于互聯(lián)網(wǎng)技術(shù)領(lǐng)域。



背景技術(shù):

URL Protocol協(xié)議又稱(chēng)瀏覽器協(xié)議,是瀏覽器通用的一種協(xié)議,通常被用于一些外部應(yīng)用的調(diào)用,比如:迅雷下載、調(diào)用阿里旺旺或QQ進(jìn)行客戶(hù)服務(wù)等。由于瀏覽器協(xié)議只能是單向一次性交互,只能一次性調(diào)用應(yīng)用程序,且無(wú)返回值,調(diào)用后頁(yè)面無(wú)法與外部應(yīng)用進(jìn)行交互,所以一直以來(lái)只是做一些簡(jiǎn)單的應(yīng)用。

控件是對(duì)數(shù)據(jù)和方法的封裝,擁有自己的屬性和方法,屬性是控件數(shù)據(jù)的簡(jiǎn)單訪(fǎng)問(wèn)者,方法則是控件的一些簡(jiǎn)單而可見(jiàn)的功能。由于web應(yīng)用的多樣性,很多應(yīng)用要與系統(tǒng)進(jìn)行交互,例如:發(fā)卡器要跟USB通訊、安全支付需要掃描系統(tǒng)環(huán)境等。這部分功能瀏覽器上是沒(méi)有權(quán)限去完成的,必須使用控件的方式。目前瀏覽器是百家爭(zhēng)鳴的時(shí)期,每種瀏覽器使用各自的開(kāi)發(fā)語(yǔ)言進(jìn)行控件開(kāi)發(fā)。由于瀏覽器開(kāi)發(fā)及語(yǔ)言方案不同,開(kāi)發(fā)者不得不學(xué)習(xí)各種瀏覽器的開(kāi)發(fā)語(yǔ)言,而且要分別調(diào)試,大大降低了開(kāi)發(fā)效率。此外,不同瀏覽器運(yùn)行環(huán)境不同,即使內(nèi)核相同也需要分開(kāi)進(jìn)行打包安裝,甚至部分瀏覽器要求進(jìn)入插件商店進(jìn)行審核,大大降低了發(fā)布效率。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明目的在于解決瀏覽器使用不同開(kāi)發(fā)語(yǔ)言進(jìn)行控件開(kāi)發(fā),同一控件在不同瀏覽器上不能同時(shí)使用問(wèn)題,提供一種基于瀏覽器協(xié)議的跨瀏覽器數(shù)據(jù)交互方法和裝置。

現(xiàn)階段,瀏覽器工具主要包括Trident內(nèi)核、Gecko內(nèi)核、WebKit內(nèi)核、Presto內(nèi)核四種類(lèi)型瀏覽器,不同用戶(hù)終端安裝有相同或不同的瀏覽器工具,本發(fā)明解決上述技術(shù)問(wèn)題的技術(shù)方案如下:一種基于瀏覽器協(xié)議的跨瀏覽器數(shù)據(jù)交互方法,所述方法包括:

步驟1、所述用戶(hù)終端瀏覽器根據(jù)瀏覽器協(xié)議利用JavaScript模塊執(zhí)行調(diào)用本地應(yīng)用程序命令;

步驟2、本地應(yīng)用程序創(chuàng)建Webserver,通過(guò)JavaScript與Webserver進(jìn)行本地模擬交互;

步驟3、調(diào)用公共服務(wù)器的JavaScript腳本文件,動(dòng)態(tài)添加JavaScript腳本文件,進(jìn)一步利用DOM中的JavaScript模塊進(jìn)行跨域數(shù)據(jù)發(fā)送,單次發(fā)送數(shù)據(jù)的大小不超過(guò)2KB;進(jìn)一步使用Get類(lèi)請(qǐng)求找到頭文件;使用Create語(yǔ)句創(chuàng)建一個(gè)JavaScript對(duì)象;

步驟4、數(shù)據(jù)發(fā)送完成后,在Webserver端控件設(shè)置JavaScript回調(diào)函數(shù),進(jìn)一步載入JavaScript回調(diào)指令進(jìn)行數(shù)據(jù)回調(diào);進(jìn)一步包括利用不可重入函數(shù)防止數(shù)據(jù)重入;

步驟5、回調(diào)完成后數(shù)據(jù)儲(chǔ)存至JavaScript中,刪掉回調(diào)引用,將JavaScript文件中的變量賦值,直接在回調(diào)中使用該變量實(shí)現(xiàn)數(shù)據(jù)返回。

一種基于瀏覽器協(xié)議的跨瀏覽器數(shù)據(jù)交互裝置,包括:

應(yīng)用調(diào)用模塊,用于調(diào)用本地應(yīng)用程序;

模擬交互模塊,用于本地應(yīng)用程序創(chuàng)建Webserver,并通過(guò)JavaScript進(jìn)行本地模擬交互;

跨域數(shù)據(jù)發(fā)送模塊,用于利用DOM中的JavaScript模塊進(jìn)行跨域數(shù)據(jù)發(fā)送;

回調(diào)模塊、用于對(duì)返回?cái)?shù)據(jù)進(jìn)行回調(diào)。

進(jìn)一步,包括數(shù)據(jù)重入禁止模塊,用于防止數(shù)據(jù)重入。

進(jìn)一步,包括數(shù)據(jù)取出模塊,用于取出返回的數(shù)據(jù)變量。

進(jìn)一步,跨域數(shù)據(jù)發(fā)送模塊單次發(fā)送數(shù)據(jù)的大小不超過(guò)2KB。

進(jìn)一步,該裝置至少包括Trident內(nèi)核、Gecko內(nèi)核、WebKit內(nèi)核、Presto內(nèi)核類(lèi)型瀏覽器中的一種。

本發(fā)明的有益效果是:無(wú)需針對(duì)不同瀏覽器開(kāi)發(fā)不同控件,能夠解決控件跨瀏覽器使用問(wèn)題,實(shí)現(xiàn)數(shù)據(jù)跨瀏覽器交互,提高了開(kāi)發(fā)效率。

附圖說(shuō)明

圖1為基于瀏覽器協(xié)議的跨瀏覽器數(shù)據(jù)交互方法示意圖;

圖2為跨域數(shù)據(jù)傳輸部分代碼舉例;

圖3為返回?cái)?shù)據(jù)回調(diào)部分代碼舉例;

圖4為基于瀏覽器協(xié)議的跨瀏覽器數(shù)據(jù)交互裝置結(jié)構(gòu)示意圖;

圖5為常見(jiàn)瀏覽器HTTP Get請(qǐng)求URL的最大長(zhǎng)度列表。

具體實(shí)施方式

以下結(jié)合附圖對(duì)本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。

實(shí)施例1:

圖1為本發(fā)明第一實(shí)施例中基于瀏覽器協(xié)議的跨瀏覽器數(shù)據(jù)交互方法示意圖,一種可以實(shí)現(xiàn)跨瀏覽器使用的控件解決方案。

具體而言,一種基于瀏覽器協(xié)議的跨瀏覽器數(shù)據(jù)交互方法,包括:

步驟1、所述用戶(hù)終端瀏覽器根據(jù)瀏覽器協(xié)議利用JavaScript模塊執(zhí)行調(diào)用本地應(yīng)用程序命令;

步驟2、本地應(yīng)用程序創(chuàng)建Webserver,通過(guò)JavaScript與Webserver進(jìn)行本地模擬交互;

步驟3、調(diào)用公共服務(wù)器的JavaScript腳本文件,動(dòng)態(tài)添加JavaScript腳本文件,進(jìn)一步利用DOM中的JavaScript模塊進(jìn)行跨域數(shù)據(jù)發(fā)送,單次發(fā)送數(shù)據(jù)的大小不超過(guò)2KB;進(jìn)一步使用Get類(lèi)請(qǐng)求找到頭文件;使用Create語(yǔ)句創(chuàng)建一個(gè)JavaScript對(duì)象;

步驟4、數(shù)據(jù)發(fā)送完成后,在Webserver端控件設(shè)置JavaScript回調(diào)函數(shù),進(jìn)一步載入JavaScript回調(diào)指令進(jìn)行數(shù)據(jù)回調(diào);進(jìn)一步包括利用不可重入函數(shù)防止數(shù)據(jù)重入;

步驟5、回調(diào)完成后數(shù)據(jù)儲(chǔ)存至JavaScript中,刪掉回調(diào)引用,將JavaScript文件中的變量賦值,直接在回調(diào)中使用該變量實(shí)現(xiàn)數(shù)據(jù)返回。

本發(fā)明采用上述方案,可以實(shí)現(xiàn)JavaScript與Webserver進(jìn)行本地模擬交互,通過(guò)DOM中的JavaScript模塊,能夠?qū)崿F(xiàn)數(shù)據(jù)的本地和跨域傳輸,進(jìn)一步借助回調(diào)函數(shù)進(jìn)行數(shù)據(jù)回調(diào),不可重入函數(shù)防止數(shù)據(jù)重入。

實(shí)施例2:

如圖2所示,其中跨域數(shù)據(jù)傳輸涉及的代碼字段舉例如下:

“//找到文檔頭

var head=document.getElementsByTagName('head')[0];

//生成一個(gè)JS對(duì)象

var jscript=document.createElement('script');

jscript.type='text/javascript';

//發(fā)送數(shù)據(jù)

jscript.src="http://127.0.0.1:"+jlink_port+"/"+"發(fā)送的數(shù)據(jù)";

//插入元素(兼容IE6必須insertBefore)

head.insertBefore(jscript,head.firstChild);”

實(shí)施例3:

如圖3所示,其中數(shù)據(jù)回調(diào)與防止重入代碼舉例如下:

實(shí)施例:4:

如圖4所示,與上述方法對(duì)應(yīng),本發(fā)明還提供一種基于瀏覽器協(xié)議的跨瀏覽器數(shù)據(jù)交互裝置1,包括:

應(yīng)用調(diào)用模塊101,用于調(diào)用本地應(yīng)用程序;

模擬交互模塊102,用于本地應(yīng)用程序創(chuàng)建Webserver,并通過(guò)JavaScript進(jìn)行本地模擬交互;

跨域數(shù)據(jù)發(fā)送模塊103,用于利用DOM中的JavaScript模塊進(jìn)行跨域數(shù)據(jù)發(fā)送;

回調(diào)模塊105、用于對(duì)返回?cái)?shù)據(jù)進(jìn)行回調(diào)。

數(shù)據(jù)重入禁止模塊104,用于防止數(shù)據(jù)重入。

數(shù)據(jù)取出模塊106,用于取出返回的數(shù)據(jù)變量。

該裝置進(jìn)一步至少包括Trident內(nèi)核、Gecko內(nèi)核、WebKit內(nèi)核、Presto內(nèi)核類(lèi)型瀏覽器中的一種。

實(shí)施例5:

如圖5所示,常見(jiàn)瀏覽器HTTP Get請(qǐng)求URL的最大長(zhǎng)度,其中:

IE6.0:URL最大長(zhǎng)度2083個(gè)字符,超過(guò)最大長(zhǎng)度后無(wú)法提交。

IE7.0:URL最大長(zhǎng)度2083個(gè)字符,超過(guò)最大長(zhǎng)度后仍然能提交,但是只能傳過(guò)去2083個(gè)字符。

Firefox 3.0.3:URL最大長(zhǎng)度7764個(gè)字符,超過(guò)最大長(zhǎng)度后無(wú)法提交。

Opera 9.52:URL最大長(zhǎng)度7648個(gè)字符,超過(guò)最大長(zhǎng)度后無(wú)法提交。

Google Chrome 2.0.168:URL最大長(zhǎng)度7713個(gè)字符,超過(guò)最大長(zhǎng)度后無(wú)法提交。

由于使用的Get類(lèi)請(qǐng)求,提交的數(shù)據(jù)受URL長(zhǎng)度限制,當(dāng)遞交數(shù)據(jù)控制在2K以?xún)?nèi),具體而言數(shù)據(jù)需控制在市面所用瀏覽器URL最大長(zhǎng)度值最小的那一個(gè)范圍內(nèi),從而滿(mǎn)足控件數(shù)據(jù)跨瀏覽器交互的數(shù)據(jù)量。

以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
祁东县| 桂林市| 仲巴县| 清水河县| 明星| 德格县| 西昌市| 阿城市| 建瓯市| 米脂县| 哈尔滨市| 墨玉县| 瑞金市| 远安县| 色达县| 广丰县| 健康| 衡水市| 永年县| 三河市| 宜城市| 逊克县| 曲麻莱县| 景谷| 邹平县| 景谷| 太和县| 五家渠市| 封丘县| 循化| 陵水| 濉溪县| 桂东县| 民乐县| 同心县| 蕲春县| 齐齐哈尔市| 丘北县| 九江市| 黔西县| 普定县|