国产精品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>

      瀏覽器與web前端通信的方法、web前端及系統(tǒng)的制作方法

      文檔序號:9810263閱讀:576來源:國知局
      瀏覽器與web前端通信的方法、web前端及系統(tǒng)的制作方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及圖片處理技術(shù)領(lǐng)域,尤其涉及一種瀏覽器與web前端通信的方法、web如端及系統(tǒng)。
      【背景技術(shù)】
      [0002]目前,運行于1s系統(tǒng)之上的瀏覽器都是基于safari內(nèi)核,web前端無法直接使用瀏覽器客戶端提供的API,即web前端缺少與瀏覽器客戶端主動通信的機制。
      [0003]對于瀏覽器客戶端,可以訪問web前端的全局javascript代碼,瀏覽器客戶端訪問web前端的javascript代碼通常采用以下兩種方式JARweb前端傳入的全局函數(shù)名對應(yīng)的函數(shù),或者執(zhí)行web前端傳入的函數(shù)體。
      [0004]但是上述兩種方式都存在嚴重的弊端:第一種方式要求傳入的函數(shù)名需要對應(yīng)一個全局函數(shù),這種方式對于異步接口來說簡直是災(zāi)難,因為調(diào)用一次API意味著需要生成一個全局變量,這樣不僅會污染命名空間,也會占用內(nèi)存;第二種方式會使傳入的函數(shù)體中的作用域鏈失效,函數(shù)體內(nèi)只能訪問全局變量,this對應(yīng)的是window對象,此時函數(shù)體將無法保留現(xiàn)場,這些潛規(guī)則的存在將會給web前端開發(fā)帶來更大的復(fù)雜度。

      【發(fā)明內(nèi)容】

      [0005]本發(fā)明實施例提供一種瀏覽器與web前端通信的方法、web前端及系統(tǒng),旨在實現(xiàn)web前端與瀏覽器客戶端之間的有效通信,降低開發(fā)者對API接口的使用成本。
      [0006]本發(fā)明實施例提出了一種瀏覽器與web前端通信的方法,包括:
      [0007]web前端響應(yīng)接口調(diào)用指令,生成用以標識所述接口調(diào)用指令對應(yīng)請求事件的id ;
      [0008]所述web前端根據(jù)所述接口調(diào)用指令,獲取所述請求事件的接口參數(shù);
      [0009]所述web前端將所述請求事件、id以及所述接口參數(shù)存入全局變量命令隊列中;
      [0010]所述web前端通過給預(yù)先創(chuàng)建的標簽的設(shè)定屬性賦值的方式,將所述全局變量命令隊列發(fā)送至瀏覽器;
      [0011]所述瀏覽器接收到所述全局變量命令隊列后,從所述全局變量命令隊列中讀取所述請求事件、id以及所述接口參數(shù),對所述請求事件進行處理。
      [0012]本發(fā)明實施例還提出一種瀏覽器與web前端通信的的系統(tǒng),包括:瀏覽器和與所述瀏覽器通信連接的web前端;其中:
      [0013]所述web前端,用于響應(yīng)接口調(diào)用指令,生成用以標識所述接口調(diào)用指令對應(yīng)請求事件的id ;根據(jù)所述接口調(diào)用指令,獲取所述請求事件的接口參數(shù);將所述請求事件、id以及所述接口參數(shù)存入全局變量命令隊列中;通過給預(yù)先創(chuàng)建的標簽的設(shè)定屬性賦值的方式,將所述全局變量命令隊列發(fā)送至瀏覽器;
      [0014]所述瀏覽器,用于接收到所述全局變量命令隊列后,從所述全局變量命令隊列中讀取所述請求事件、id以及所述接口參數(shù),對所述請求事件進行處理。
      [0015]本發(fā)明實施例還提出一種web前端,包括:
      [0016]生成模塊,用于響應(yīng)接口調(diào)用指令,生成用以標識所述接口調(diào)用指令對應(yīng)的請求事件的id ;
      [0017]獲取模塊,用于根據(jù)所述接口調(diào)用指令,獲取所述請求事件的接口參數(shù);
      [0018]存儲模塊,用于將所述請求事件、id以及所述接口參數(shù)存入全局變量命令隊列中;
      [0019]發(fā)送模塊,用于將所述全局變量命令隊列發(fā)送至瀏覽器;由所述瀏覽器接收到所述全局變量命令隊列后,從所述全局變量命令隊列中讀取所述請求事件、id以及所述接口參數(shù),對所述請求事件進行處理。
      [0020]本發(fā)明實施例提出的一種瀏覽器與web前端通信的方法、web前端及系統(tǒng),通過創(chuàng)建的iframe標簽,在web前端和瀏覽器客戶端之間建立一座通信的橋梁,通過該橋梁,web前端可以主動和瀏覽器客戶端通信,瀏覽器客戶端也可以主動和web前端通信且保留函數(shù)現(xiàn)場,由此實現(xiàn)了 web前端與瀏覽器客戶端之間的有效通信,降低了開發(fā)者學(xué)習(xí)使用API的成本。
      【附圖說明】
      [0021]圖1是本發(fā)明實施例涉及的瀏覽器與web前端通信的系統(tǒng)架構(gòu)示意圖;
      [0022]圖2是本發(fā)明實施例瀏覽器客戶端與web前端的交互時序示意圖;
      [0023]圖3是本發(fā)明實施例方案涉及的web前端硬件運行環(huán)境示意圖;
      [0024]圖4是本發(fā)明瀏覽器與web前端通信的方法第一實施例的流程示意圖;
      [0025]圖5是本發(fā)明實施例中瀏覽器接收到所述全局變量命令隊列后,從所述全局變量命令隊列中讀取所述請求事件,以及接口參數(shù),對所述請求事件進行處理的流程示意圖;
      [0026]圖6是本發(fā)明瀏覽器與web前端通信的方法第二實施例的流程示意圖;
      [0027]圖7是本發(fā)明瀏覽器與web前端通信的方法第三實施例的流程示意圖;
      [0028]圖8是本發(fā)明瀏覽器與web前端通信的方法第四實施例的流程示意圖;
      [0029]圖9是本發(fā)明瀏覽器與web前端通信的方法第五實施例的流程示意圖;
      [0030]圖10是本發(fā)明瀏覽器與web前端通信的方法第六實施例的流程示意圖;
      [0031]圖11是本發(fā)明web前端第一實施例的功能模塊示意圖;
      [0032]圖12是本發(fā)明web前端第二實施例的功能模塊示意圖。
      [0033]為了使本發(fā)明的技術(shù)方案更加清楚、明了,下面將結(jié)合附圖作進一步詳述。
      【具體實施方式】
      [0034]應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
      [0035]本發(fā)明實施例的主要解決方案是:通過創(chuàng)建的iframe標簽,在web前端和瀏覽器客戶端之間建立一座通信的橋梁,通過該橋梁,web前端可以主動和瀏覽器客戶端通信,瀏覽器客戶端也可以主動和web前端通信且保留函數(shù)現(xiàn)場,由此實現(xiàn)了 web前端與瀏覽器客戶端之間的有效通信,降低了開發(fā)者學(xué)習(xí)使用API的成本。
      [0036]如圖1所示,圖1為本發(fā)明實施例方案涉及的瀏覽器與web前端通信的系統(tǒng)架構(gòu),該系統(tǒng)架構(gòu)包括:瀏覽器客戶端102和與所述瀏覽器客戶端102通信連接的web前端101 ;其中:
      [0037]所述web前端1I,用于響應(yīng)接口調(diào)用指令,生成一 i d用以標識所述接口調(diào)用指令對應(yīng)的請求事件;根據(jù)所述接口調(diào)用指令,獲取所述請求事件的接口參數(shù);將所述請求事件、id以及所述接口參數(shù)存入全局變量命令隊列中;通過給預(yù)先創(chuàng)建的標簽的設(shè)定屬性賦值的方式,將所述全局變量命令隊列發(fā)送至瀏覽器;
      [0038]所述瀏覽器,用于接收到所述全局變量命令隊列后,從所述全局變量命令隊列中讀取所述請求事件、id以及所述接口參數(shù),對所述請求事件進行處理。
      [0039]具體地,本實施例瀏覽器客戶端102可以為PC客戶端,也可以為手機、平板電腦等具有網(wǎng)頁瀏覽功能的移動終端。
      [0040]以1s系統(tǒng)的手機端為例,由于現(xiàn)有的運行于1s系統(tǒng)之上的瀏覽器都是基于safari內(nèi)核,web前端101無法直接使用瀏覽器客戶端102提供的API,即web前端101缺少與瀏覽器客戶端102主動通信的機制。而對于瀏覽器客戶端102,雖然可以訪問web前端101的全局javascript代碼,但是無法保留函數(shù)現(xiàn)場,給web前端101開發(fā)帶來更大的復(fù)雜度。
      [0041]本實施例方案可以在web前端101和瀏覽器客戶端102之間建立一座通信的橋梁,通過該橋梁,web前端101可以主動和瀏覽器客戶端102通信,瀏覽器客戶端102也可以主動和web前端101通信且保留函數(shù)現(xiàn)場,實現(xiàn)web前端101與瀏覽器客戶端102之間的有效通信,降低開發(fā)者學(xué)習(xí)使用API的成本。本實施例瀏覽器客戶端102與web前端101的交互流程如圖2所示。
      [0042]具體地,在web前端101創(chuàng)建有一個標簽,本實施例以一個隱藏的iframe標簽進行舉例。web前端101在給這個iframe標簽的src屬性賦值時,會觸發(fā)一個事件,而瀏覽器客戶端102會及時捕獲到這個事件,與此同時,瀏覽器還會截獲iframe標簽的src信息。
      [0043]因此,基于此原理,通過創(chuàng)建一個隱藏的iframe的方式可以建立起web前端101和瀏覽器客戶端102之間通信的橋梁。由于web前端101每次創(chuàng)建iframe標簽并賦值時都會觸發(fā)一個事件,所以為了區(qū)分創(chuàng)建iframe標簽是普通的行為還是傳遞一個命令,本實施例定義了 src的特殊格式,并且該src的格式由web前端101與瀏覽器客戶端102協(xié)商產(chǎn)生,以便瀏覽器客戶端102可以及時捕獲到src屬性值。
      [0044]本實施例定義src采用以下格式:mtt:service:act1n。
      [0045]其中,mtt是字符串常量,service和act1n唯一決定一個命令的行為,service標識大類的行為,act1n標識大類下的細分行為。
      [0046]通過這種通信方式,瀏覽器客戶端102對外提供的API都是異步接口,開發(fā)用戶可以傳入service和act1n標識命令的類型,并且以opt1n作為命令參數(shù),sue作為成功回調(diào)函數(shù),err作為失敗的回調(diào)函數(shù),由此,定義一個API接口的格式為:
      [0047]browserApi (service, act1n, opt1n, sue, err)。
      [0048]開發(fā)用戶可以調(diào)用web前端101提供的代碼庫,觸發(fā)對客戶端API接口的調(diào)用。其中,web前端101的代碼庫具體可以為javascript代碼庫。
      [0049]web前端101響應(yīng)開發(fā)用戶觸發(fā)的接口調(diào)用指令,會產(chǎn)生一個發(fā)送給瀏覽器客戶端102的請求事件,由此發(fā)起一個命令。
      [0050]web前端101對瀏覽器客戶端102發(fā)起一個命令前,會自動生成一個唯一的隨機數(shù)作為id來標識該命令,S卩,生成一 id用以標識所述接口調(diào)用指令對應(yīng)的請求事件。
      [0051]此外,web前端101還會根據(jù)所述接口調(diào)用指令,獲取所述請求事件的接口參數(shù)。該接口參數(shù)包括:請求事件的類型和請求事件的命令參數(shù);其中,請求事件的類型通過上述service和act1n標識;請求事件的命令參數(shù)通過opt1n標識。
      [0052]上述獲取的請求事件的接口參數(shù)用于傳送給瀏覽器客戶端102,便于瀏覽器客戶端102對請求事件進行處理。
      [0053]在web前端101,還會維護一個命令隊列queue (本實施例稱全局變量命令隊列)來保存這些請求事件(含有請求事件對應(yīng)的id、請求事件的類型和請求事件的命令參數(shù))。
      [0054]web前端101之所以通過全局變量命令隊列保存請求事件、id以及接口參數(shù),是考慮到開發(fā)用戶在一段時間內(nèi)可能會多次調(diào)用瀏覽器客戶端102API接口,而瀏覽器客戶端102不一定能夠及時處理這些請求事件。因此,采用全局變量命令隊列保存請求事件這些命令,分批發(fā)送給瀏覽器客戶端102,從而可以保證瀏覽器客戶端102合理安排請求事件的處理時機,提高了瀏覽器側(cè)系統(tǒng)性能和數(shù)據(jù)處理的效率,同時也緩解了 web前端101的數(shù)據(jù)處理壓力。
      [0055]然后,web前端101以預(yù)定格式,給iframe標簽的src屬性賦值,觸發(fā)全局變量命令隊列的發(fā)送;所述src屬性包括用于標識所述請求事件的類型的service字段和act1n字段。
      [0056]由此,通過給創(chuàng)建好的隱藏iframe的src賦值的方式,將包含請求事件及其相關(guān)參數(shù)的全局變量命令隊列傳達到瀏覽器客戶端102。
      [0057]web前端101通過給創(chuàng)建好的隱藏iframe的src賦值的方式,將全局變量命令隊列傳達到瀏覽器客戶端102
      當(dāng)前第1頁1 2 3 4 5 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1