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

      一種瀏覽器插件調(diào)用方法及系統(tǒng)的制作方法

      文檔序號(hào):6425886閱讀:220來(lái)源:國(guó)知局
      專利名稱:一種瀏覽器插件調(diào)用方法及系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及插件技術(shù),尤指一種iOS系統(tǒng)的瀏覽器插件調(diào)用方法及系統(tǒng)。
      背景技術(shù)
      網(wǎng)頁(yè)往往需要調(diào)用插件的功能來(lái)實(shí)現(xiàn)更豐富的表現(xiàn),更強(qiáng)大的功能,比如IE瀏覽器的ActiveX ;又如firefox、safari、chrome等瀏覽器使用的網(wǎng)景插件應(yīng)用程序編程接口(NPAPI,Netscape Plugin Application Programming Interface)的插件。在網(wǎng)頁(yè)中經(jīng)??吹降膄lash就是這種插件技術(shù)的一種表現(xiàn)。iOS系統(tǒng)是美國(guó)蘋果公司(Apple Inc.)用于移動(dòng)設(shè)備(如iphone、ipad)的操 作系統(tǒng)。iOS系統(tǒng)使用safari瀏覽器作為內(nèi)置瀏覽器,目前,在safari瀏覽器上實(shí)現(xiàn)插件技術(shù)有NPAPI組件技術(shù)。NPAPI是一套用于webkit內(nèi)核瀏覽器公開的、特定的接口,只要遵循這套接口編寫出對(duì)應(yīng)的模塊文件,并將該模塊文件放置到safari的插件目錄下,就能實(shí)現(xiàn)safari裝載該對(duì)應(yīng)的模塊,接著網(wǎng)頁(yè)即可調(diào)用該插件。比如蘋果公司在移動(dòng)設(shè)備中內(nèi)置有QuickTime插件,QuickTime是蘋果公司的播放器,通過(guò)這個(gè)組件,網(wǎng)頁(yè)就能調(diào)用QuickTime進(jìn)行音視頻的播放;又比如第三方開發(fā)的Safari下載管理(Safari DownloadManager)插件,實(shí)現(xiàn)了 safari的下載管理,等等?,F(xiàn)有插件技術(shù)的使用方式如圖I所示,整個(gè)操作環(huán)境是在瀏覽器中進(jìn)行的,瀏覽器在打開網(wǎng)頁(yè)時(shí),會(huì)有javascript腳本與插件,數(shù)據(jù)的交換就在插件與javascript腳本間進(jìn)行?,F(xiàn)有iOS平臺(tái)的NPAPI的缺點(diǎn)主要是,美國(guó)蘋果公司對(duì)插件技術(shù)的封閉,第三方軟件開發(fā)廠商是不得使用和修改的。目前,NPAPI技術(shù)所碰到的問(wèn)題是美國(guó)蘋果公司不讓插件出現(xiàn)在safari瀏覽器中,因此,對(duì)于第三方軟件開發(fā)廠商來(lái)講,圖I中的插件模塊是不存在的,這樣,javascript腳本就無(wú)法找到數(shù)據(jù)交換的對(duì)象。而部分第三方軟件開發(fā)廠商開發(fā)的iOS下的NPAPI插件,需要用戶對(duì)iOS進(jìn)行破解后才能使用,這樣又會(huì)存在幾個(gè)問(wèn)題美國(guó)蘋果公司禁止對(duì)iOS進(jìn)行破解,因此,其不會(huì)對(duì)進(jìn)行了 iOS破解的設(shè)備提供維修保障,而且對(duì)iOS的破解是觸犯知識(shí)產(chǎn)權(quán)保護(hù)法的;iOS破解后會(huì)產(chǎn)生安全風(fēng)險(xiǎn),并且容易使得系統(tǒng)不穩(wěn)定。綜上所述,第三方用戶在使用NPAPI技術(shù)非常受限制,缺乏靈活性,達(dá)不到一般應(yīng)用要求。

      發(fā)明內(nèi)容
      有鑒于此,本發(fā)明的主要目的在于提供一種瀏覽器插件調(diào)用方法及系統(tǒng),能夠提供第三方用戶使用NPAPI技術(shù)的便利性,增加靈活性,達(dá)到一般應(yīng)用要求。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種瀏覽器插件調(diào)用方法,預(yù)先設(shè)置用于訪問(wèn)插件的URL地址;該方法還包括在接收到頁(yè)面跳轉(zhuǎn)通知時(shí),確定出需要跳轉(zhuǎn)的URL地址為用于訪問(wèn)插件的URL地址,不進(jìn)行頁(yè)面跳轉(zhuǎn),從URL中讀取參數(shù),使插件獲得傳入的數(shù)據(jù)。在確定出需要跳轉(zhuǎn)的URL地址不是用于訪問(wèn)插件的URL地址時(shí),該方法還包括進(jìn)行正常頁(yè)面跳轉(zhuǎn),結(jié)束本流程。當(dāng)所述插件需要反饋數(shù)據(jù)到頁(yè)面時(shí),該方法還包括所述插件通過(guò)瀏覽器接口的方法,直接通過(guò)javascript腳本將數(shù)據(jù)注入到頁(yè)面。所述通過(guò)瀏覽器接口的方法,直接通過(guò)javascript腳本將數(shù)據(jù)注入到頁(yè)面包括預(yù)先設(shè)置用于保存插件傳出給頁(yè)面的數(shù)據(jù)的javascript變量;所述插件通過(guò)瀏覽器控件UIWebView 的 StringByEvaluatingjavaScriptFromString方法,將數(shù)據(jù)存儲(chǔ)到該javascript變量中;
      所述頁(yè)面直接訪問(wèn)該javascript變量以獲得數(shù)據(jù)。所述插件是iOS的應(yīng)用app程序。一種瀏覽器插件調(diào)用系統(tǒng),至少包括插件、瀏覽器、頁(yè)面,以及javascript腳本,其中,Javascript腳本位于瀏覽器中,用于發(fā)起頁(yè)面跳轉(zhuǎn)通知;插件,位于瀏覽器外并監(jiān)視瀏覽器相關(guān)事件,用于接收頁(yè)面準(zhǔn)備跳轉(zhuǎn)的通知,在確定出URL地址為用于訪問(wèn)插件的URL地址時(shí),阻止頁(yè)面跳轉(zhuǎn)后,從URL中讀取參數(shù),使插件獲得傳入的數(shù)據(jù)。所述插件,還用于通過(guò)瀏覽器控件的方法,將數(shù)據(jù)存儲(chǔ)到預(yù)先設(shè)置的javascript變量;相應(yīng)地,所述javascript腳本,還用于直接訪問(wèn)該javascript變量以獲得數(shù)據(jù)。所述插件是iOS的應(yīng)用app程序。從上述本發(fā)明提供的技術(shù)方案可以看出,包括預(yù)先設(shè)置用于訪問(wèn)插件的URL地址;在接收到頁(yè)面跳轉(zhuǎn)通知時(shí),確定出需要跳轉(zhuǎn)的URL地址為用于訪問(wèn)插件的URL地址,不進(jìn)行頁(yè)面跳轉(zhuǎn),從URL中讀取參數(shù),使插件獲得傳入的數(shù)據(jù)。通過(guò)本發(fā)明調(diào)用插件的方法,通過(guò)app模擬通常頁(yè)面調(diào)用插件的各個(gè)接口,實(shí)現(xiàn)了對(duì)插件的模擬,同時(shí)也實(shí)現(xiàn)了數(shù)據(jù)在插件和javascript腳本之間的輸入輸出,提供了第三方用戶使用NPAPI技術(shù)的便利性,增加了靈活性,達(dá)到了一般應(yīng)用要求。


      圖I為現(xiàn)有插件技術(shù)的使用方式的示意圖;圖2為本發(fā)明瀏覽器插件調(diào)用方法的流程圖;圖3為本發(fā)明瀏覽器插件調(diào)用系統(tǒng)的組成結(jié)構(gòu)示意圖;圖4為本發(fā)明數(shù)據(jù)傳入插件的實(shí)施例的流程示意圖;圖5為本發(fā)明插件數(shù)據(jù)傳出的實(shí)施例的示意圖。
      具體實(shí)施例方式圖2為本發(fā)明插件調(diào)用方法的流程圖,如圖2所示,包括以下步驟步驟200 :預(yù)先設(shè)置用于訪問(wèn)插件的URL地址。本步驟中,預(yù)先設(shè)置的URL地址是一個(gè)唯一的標(biāo)識(shí),具體取什么值并不做限定,但需要保證是唯一的,這樣,在后續(xù)處理頁(yè)面跳轉(zhuǎn)時(shí),可以通過(guò)該URL地址識(shí)別出是針對(duì)插件本身的請(qǐng)求,與區(qū)別于其他正常的頁(yè)面訪問(wèn)URL地址,從而采取相應(yīng)的跳轉(zhuǎn)方式。步驟201 :在接收到頁(yè)面跳轉(zhuǎn)通知時(shí),確定URL地址是否為用于訪問(wèn)插件的URL地址,如果是,進(jìn)入步驟202 ;否則進(jìn)行現(xiàn)有的正常跳轉(zhuǎn)并結(jié)束本流程。對(duì)于頁(yè)面數(shù)據(jù)傳入到插件的情況,只是希望頁(yè)面把數(shù)據(jù)傳進(jìn)來(lái),并不希望頁(yè)面發(fā)生跳轉(zhuǎn),因此,本步驟中,在檢測(cè)到頁(yè)面跳轉(zhuǎn)通知中的URL地址與預(yù)先設(shè)置的用于訪問(wèn)插件的URL地址一致,則不需要進(jìn)行瀏覽器跳轉(zhuǎn)。步驟202 :不進(jìn)行頁(yè)面跳轉(zhuǎn),從URL中讀取參數(shù),使插件獲得傳入的數(shù)據(jù)。本步驟中,從javascript代碼中直接讀取從頁(yè)面?zhèn)魅氩寮臄?shù)據(jù)即可。其中,插件可以是iOS的應(yīng)用(app)程序。其中,app指iOS系統(tǒng)上的公開發(fā)行的軟件程序,app程序其實(shí)是iOS的一個(gè)普通程序,用戶可以從appstore (—個(gè)美國(guó)蘋果公司 的軟件中心)下載安裝。需要說(shuō)明的是,這個(gè)app內(nèi)嵌了瀏覽器,這樣,瀏覽器中的信息交換就能被app所獲取。需要說(shuō)明的是,app內(nèi)嵌瀏覽器是iOS開發(fā)下的通用行為,具體實(shí)現(xiàn)不屬于本發(fā)明的保護(hù)范圍,是本領(lǐng)域技術(shù)人員的慣用技術(shù),比如很多windows程序內(nèi)嵌一個(gè)瀏覽器用于展示廣告頁(yè)面,是很常見的,iOS系統(tǒng)下也是同樣如此。本發(fā)明方法還包括當(dāng)插件需要反饋數(shù)據(jù)到頁(yè)面時(shí),插件通過(guò)瀏覽器接口UIffebView 的 StringByEvaluatingjavaScriptFromString 方法直接通過(guò) javascript腳本將數(shù)據(jù)注入到頁(yè)面。具體來(lái)講包括預(yù)先設(shè)置用于保存插件傳出給頁(yè)面的數(shù)據(jù)的javascript 變量,插件通過(guò)瀏覽器控件 UIWebView 的 StringByEvaluatingJavaScriptFromString方法,將數(shù)據(jù)存儲(chǔ)到該javascript變量中,這樣,頁(yè)面直接訪問(wèn)該javascript變量以獲得數(shù)據(jù),實(shí)現(xiàn)了插件數(shù)據(jù)輸出到頁(yè)面。其中,UIWebView是iOS系統(tǒng)下瀏覽器的對(duì)應(yīng)接口,通過(guò)這個(gè)接口,可以操作瀏覽器訪問(wèn)網(wǎng)站的行為,操作頁(yè)面數(shù)據(jù)AtringByEvaluatingJavaScriptFromString是UIWebView的一個(gè)函數(shù)接口,這個(gè)函數(shù)能實(shí)現(xiàn)運(yùn)行頁(yè)面里面的javascript語(yǔ)句,具體使用屬于本領(lǐng)域技術(shù)人員的慣用技術(shù)手段,這里不再贅述。圖3為本發(fā)明插件調(diào)用系統(tǒng)的組成結(jié)構(gòu)示意圖,如圖3所示,至少包括插件、瀏覽器、頁(yè)面,以及javascript腳本,其中,Javascript腳本位于瀏覽器中,用于發(fā)起頁(yè)面跳轉(zhuǎn)通知;插件,位于瀏覽器外并監(jiān)視瀏覽器相關(guān)事件,用于接收頁(yè)面準(zhǔn)備跳轉(zhuǎn)的通知,在確定出URL地址為用于訪問(wèn)插件的URL地址時(shí),阻止頁(yè)面跳轉(zhuǎn)后,從URL中讀取參數(shù),使插件獲得傳入的數(shù)據(jù)。插件,還用于通過(guò)瀏覽器控件的方法,將數(shù)據(jù)存儲(chǔ)到預(yù)先設(shè)置的javascript變量;相應(yīng)地,javascript腳本,還用于直接訪問(wèn)該javascript變量以獲得數(shù)據(jù)。圖4為本發(fā)明數(shù)據(jù)傳入插件的實(shí)施例的流程示意圖,如圖4所示,包括步驟400步驟401 :頁(yè)面需要傳數(shù)據(jù)給插件,Javascript腳本封裝數(shù)據(jù)到一個(gè)特定的URL中,并發(fā)起頁(yè)面跳轉(zhuǎn)通知。步驟402 =App本身檢測(cè)到頁(yè)面的跳轉(zhuǎn),分析出URL中的數(shù)據(jù),阻止頁(yè)面跳轉(zhuǎn)。步驟403 :數(shù)據(jù)成功傳入app,插件獲得來(lái)自頁(yè)面的數(shù)據(jù)。下面結(jié)合實(shí)例來(lái)詳細(xì)描述圖4所示的流程假設(shè)某網(wǎng)頁(yè)通過(guò)javascript將一個(gè)參數(shù)傳給插件,該參數(shù)名字為時(shí)間(time),其值取為當(dāng)前時(shí)間,數(shù)據(jù)定義為time = 20101202161616,其中的20101202161616表示2010年12月2日16時(shí)16分16秒。本實(shí)施例中,通過(guò)URL來(lái)傳送該參數(shù),通過(guò)javascript控制當(dāng)前頁(yè)面跳轉(zhuǎn)到新的URL, javascript示例代碼如表I所示
      var url='https://643248ff-f6c5-4ccd-9088-ablled68e6d2 time=20101202161616'window.open(url);表I表I 中,URL 的地址內(nèi)容為 643248ff-f6c5-4ccd-9088-ablled68e6d2,是一個(gè)唯一的標(biāo)識(shí),具體取什么值不做限定,這里只是一個(gè)示例。這樣應(yīng)用程序(app)可以通過(guò)這個(gè)唯一的標(biāo)識(shí)識(shí)別出是針對(duì)插件本身的請(qǐng)求。表I中,問(wèn)號(hào)后面的time = 20101202161616是頁(yè)面?zhèn)鹘o插件的具體數(shù)據(jù)。 App得到URL地址跳轉(zhuǎn)的通知,通知的位置在app內(nèi)嵌的瀏覽器對(duì)應(yīng)的類UI ViewContro 11 er<UIffebViewDe legate)上面。這個(gè)類有個(gè)接口 shouldStartLoadWithRequest,通過(guò)該接口可以得到每次瀏覽器
      要跳轉(zhuǎn)的地址,如表2所示代碼示例
      -(B OOL) web Vie w: (UIWebView *) web ViewshouldStartLoadWithRequest: (NSURLRequest*)requestnavigationType:(UIWebYiewNavigationType)navigationType {
      NSURL *url = request.URL; //得到跳轉(zhuǎn)的URL地址 NS String* strJs;
      if([[urlhost]
      isEqualToString: @ "643248ff-f6c5-4ccd-9088-ablled68e6d2"])
      {
      //如果跳轉(zhuǎn)的地址是插件特有的,那么就取出參數(shù)NSString* strRSAKey = [url query];
      //參數(shù)已經(jīng)得到,數(shù)據(jù)已經(jīng)成功從頁(yè)面?zhèn)魅脒M(jìn)來(lái)return FALSE; //返回FALSE,表示覓面不跳轉(zhuǎn)}
      return TRUE; //其他情況返回TURE,表示允許頁(yè)面跳轉(zhuǎn) }表2
      圖5為本發(fā)明插件數(shù)據(jù)傳出的實(shí)施例的示意圖,如圖5所示,當(dāng)插件需要反饋數(shù)據(jù)到頁(yè)面時(shí),插件通過(guò)瀏覽器控件 UIWebView 的 StringByEvaluatingjavaScriptFromString方法,直接通過(guò)javascript數(shù)據(jù)對(duì)象(可以通過(guò)定義的javascript變量來(lái)實(shí)現(xiàn))將數(shù)據(jù)注入到頁(yè)面,代碼示例如表3所示
      權(quán)利要求
      1.一種瀏覽器插件調(diào)用方法,其特征在于,預(yù)先設(shè)置用于訪問(wèn)插件的URL地址;該方法還包括 在接收到頁(yè)面跳轉(zhuǎn)通知時(shí),確定出需要跳轉(zhuǎn)的URL地址為用于訪問(wèn)插件的URL地址,不進(jìn)行頁(yè)面跳轉(zhuǎn),從URL中讀取參數(shù),使插件獲得傳入的數(shù)據(jù)。
      2.根據(jù)權(quán)利要求I所述的瀏覽器插件調(diào)用方法,其特征在于,在確定出需要跳轉(zhuǎn)的URL地址不是用于訪問(wèn)插件的URL地址時(shí),該方法還包括進(jìn)行正常頁(yè)面跳轉(zhuǎn),結(jié)束本流程。
      3.根據(jù)權(quán)利要求I或2所述的瀏覽器插件調(diào)用方法,其特征在于,當(dāng)所述插件需要反饋數(shù)據(jù)到頁(yè)面時(shí),該方法還包括所述插件通過(guò)瀏覽器接口的方法,直接通過(guò)javascript腳本將數(shù)據(jù)注入到頁(yè)面。
      4.根據(jù)權(quán)利要求3所述的瀏覽器插件調(diào)用方法,其特征在于,所述通過(guò)瀏覽器接口的方法,直接通過(guò)javascript腳本將數(shù)據(jù)注入到頁(yè)面包括 預(yù)先設(shè)置用于保存插件傳出給頁(yè)面的數(shù)據(jù)的javascript變量; 所述插件通過(guò)瀏覽器控件 UIWebView 的 StringByEvaluatingjavaScriptFromString方法,將數(shù)據(jù)存儲(chǔ)到該javascript變量中; 所述頁(yè)面直接訪問(wèn)該javascript變量以獲得數(shù)據(jù)。
      5.根據(jù)權(quán)利要求I所述的瀏覽器插件調(diào)度方法,其特征在于,所述插件是iOS的應(yīng)用app程序。
      6.一種瀏覽器插件調(diào)用系統(tǒng),其特征在于,至少包括插件、瀏覽器、頁(yè)面,以及javascript腳本,其中, Javascript腳本位于瀏覽器中,用于發(fā)起頁(yè)面跳轉(zhuǎn)通知; 插件,位于瀏覽器外并監(jiān)視瀏覽器相關(guān)事件,用于接收頁(yè)面準(zhǔn)備跳轉(zhuǎn)的通知,在確定出URL地址為用于訪問(wèn)插件的URL地址時(shí),阻止頁(yè)面跳轉(zhuǎn)后,從URL中讀取參數(shù),使插件獲得傳入的數(shù)據(jù)。
      7.根據(jù)權(quán)利要求6所述的瀏覽器插件調(diào)用系統(tǒng),其特征在于, 所述插件,還用于通過(guò)瀏覽器控件的方法,將數(shù)據(jù)存儲(chǔ)到預(yù)先設(shè)置的javascript變量;相應(yīng)地, 所述javascript腳本,還用于直接訪問(wèn)該javascript變量以獲得數(shù)據(jù)。
      8.根據(jù)權(quán)利要求7或8所述的瀏覽器插件調(diào)用系統(tǒng),其特征在于,所述插件是iOS的應(yīng)用app程序。
      全文摘要
      本發(fā)明公開了一種瀏覽器插件調(diào)用方法及系統(tǒng),包括預(yù)先設(shè)置用于訪問(wèn)插件的URL地址;在接收到頁(yè)面跳轉(zhuǎn)通知時(shí),確定出需要跳轉(zhuǎn)的URL地址為用于訪問(wèn)插件的URL地址,不進(jìn)行頁(yè)面跳轉(zhuǎn),從URL中讀取參數(shù),使插件獲得傳入的數(shù)據(jù)。通過(guò)本發(fā)明調(diào)用插件的方法,通過(guò)app模擬通常頁(yè)面調(diào)用插件的各個(gè)接口,實(shí)現(xiàn)了對(duì)插件的模擬,同時(shí)也實(shí)現(xiàn)了數(shù)據(jù)在插件和javascript腳本之間的輸入輸出,提供了第三方用戶使用NPAPI技術(shù)的便利性,增加了靈活性,達(dá)到了一般應(yīng)用要求。
      文檔編號(hào)G06F9/46GK102819451SQ20111015427
      公開日2012年12月12日 申請(qǐng)日期2011年6月9日 優(yōu)先權(quán)日2011年6月9日
      發(fā)明者何暢, 周鵬里 申請(qǐng)人:深圳市財(cái)付通科技有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1