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

一種在Ios系統(tǒng)中利用JS語言調(diào)用原生語言的方法

文檔序號:9929572閱讀:385來源:國知局
一種在Ios系統(tǒng)中利用JS語言調(diào)用原生語言的方法
【技術領域】
[0001]本發(fā)明涉及計算機技術領域,尤其涉及一種在1s系統(tǒng)中利用JS語言調(diào)用原生語言的方法。
【背景技術】
[0002]在1s系統(tǒng)使用UIWebView(網(wǎng)頁視圖)過程中,有些內(nèi)容需要調(diào)用原生代碼來提升用戶體驗,如登錄、支付、分享等,可是JavaScript(簡稱JS)調(diào)用原生語言,并沒有現(xiàn)成的API,均需要重新開發(fā)。
[0003]目前,JS調(diào)用原生語言主要通過以下兩種方法來實現(xiàn):一種方法是完全自定義協(xié)議,這種自定義的協(xié)議與一般的url格式不一致,所以,在使用過程中,需要組裝或截取、解析這種非標準url協(xié)議的字段和參數(shù),從而增加了代碼的復雜程度,使得代碼不利于閱讀及理解,也容易出現(xiàn)錯誤;第二種方法是使用WebViewJavascriptBridge開源庫實現(xiàn)JS對原生語言的調(diào)用,這種方法雖然實現(xiàn)了在使用UIWebView時JS與1s的原生代碼之間的互調(diào),但是要加入第三方開源庫,注冊調(diào)用方法,所以使用起來比較復雜。

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

[0004]本發(fā)明的目的在于提供一種在1s系統(tǒng)中利用JS語言調(diào)用原生語言的方法,從而解決現(xiàn)有技術中存在的前述問題。
[0005]為了實現(xiàn)上述目的,本發(fā)明采用的技術方案如下:
[0006]—種在1s系統(tǒng)中利用JS語言調(diào)用原生語言的方法,包括如下步驟:
[0007]SI,在網(wǎng)頁中嵌入自定義的URL鏈接,獲得含有所述URL鏈接的網(wǎng)頁;
[0008]S2,在網(wǎng)頁視圖中展現(xiàn)含有所述URL鏈接的網(wǎng)頁;
[0009 ] S3,接收用戶對網(wǎng)頁上的所述URL鏈接的點擊請求;
[0010]S4,解析所述URL鏈接,獲取所述URL鏈接的參數(shù);
[0011]S5,根據(jù)S4中獲得的參數(shù),調(diào)用含有相同所述參數(shù)的原生語言。
[0012]優(yōu)選地,SI中,所述自定義的URL鏈接包括登錄功能的鏈接、支付功能的鏈接和/或分享功能的鏈接。
[0013]優(yōu)選地,SI中,登錄功能的所述自定義的URL鏈接,為:
[0014]<a href = 〃autohome://cmdLogin?calIback = clickme_login〃>,
[0015]其中,
[0016]url scheme為autohome://,
[0017]url host為cmdLogin,
[0018]傳遞的參數(shù)為:callback= cl ickme_login ο
[0019]優(yōu)選地,S2采用如下方法實施:將SI中獲得的含有所述URL鏈接的網(wǎng)頁加載入UIWebView 容器中。
[0020]優(yōu)選地,S4采用UIWebViewDelegate方法,解析所述URL鏈接,獲取所述URL鏈接的參數(shù)。
[0021]進一步地,S5之后還包括步驟:調(diào)用網(wǎng)頁JS方法,告知網(wǎng)頁,調(diào)用原生代碼寫的功能已完成,邏輯再回到網(wǎng)頁中。
[0022]優(yōu)選地,原生代碼功能完成后,原生語言調(diào)用U I W e b V i e w的str ingByEvaluat ingJavaScr iptFromStr ing 函數(shù),調(diào)用網(wǎng)頁 JS 語言的方法。
[0023]進一步地,S5之后還包括步驟:在1s系統(tǒng)中的原生語言中調(diào)用網(wǎng)頁的JS語言,實現(xiàn)利用原生語言調(diào)用JS語言的功能。
[0024]優(yōu)選地,所述實現(xiàn)利用原生語言調(diào)用JS語言的功能,具體為,采用UIWebView的_(NSStr ing*) str ingByEvaluat ingJavaScr iptFromStr ing: (NSString*) script方法,實現(xiàn)在1s系統(tǒng)中的原生語言中調(diào)用JS語言。
[0025]優(yōu)選地,所述實現(xiàn)利用原生語言調(diào)用JS語言的功能,包括:在原生代碼中實現(xiàn)JS代碼的增加、刪除和/或修改。
[0026]本發(fā)明的有益效果是:本發(fā)明實施例提供的在1s系統(tǒng)中利用JS語言調(diào)用原生語言的方法,通過自定義URL(URL Scheme)鏈接,實現(xiàn)了在網(wǎng)頁中調(diào)用原生代碼編寫的功能,由于URL鏈接的格式是標準的,在使用過程中,只需要對其中的參數(shù)先進行自定義,再進行解析,就可以實現(xiàn)調(diào)用,所以,代碼簡單,調(diào)用的實現(xiàn)過程方便、簡單,且容易擴展。
【附圖說明】
[0027]圖1是本發(fā)明實施例提供的在1s系統(tǒng)中利用JS語言調(diào)用原生語言的方法流程示意圖。
【具體實施方式】
[0028]為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結(jié)合附圖,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的【具體實施方式】僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0029]如圖1所示,本發(fā)明實施例提供了一種在1s系統(tǒng)中利用JS語言調(diào)用原生語言的方法,包括如下步驟:
[0030]SI,在網(wǎng)頁中嵌入自定義的URL鏈接,獲得含有所述URL鏈接的網(wǎng)頁;
[0031]S2,在網(wǎng)頁視圖中展現(xiàn)含有所述URL鏈接的網(wǎng)頁;
[0032]S3,接收用戶對網(wǎng)頁上的所述URL鏈接的點擊請求;
[0033]S4,解析所述URL鏈接,獲取所述URL鏈接的參數(shù);
[0034]S5,根據(jù)S4中獲得的參數(shù),調(diào)用含有相同所述參數(shù)的原生語言。
[0035]本發(fā)明的一個優(yōu)選實施例中,SI中,所述自定義的URL鏈接可以包括登錄功能的鏈接、支付功能的鏈接和/或分享功能的鏈接。
[0036]其中,SI中,登錄功能的所述自定義的URL鏈接,可以為:
[0037]<a href = ^autohome://cmdLogin?callback = clickme_login//>,
[0038]其中,
[0039]url scheme為autohome://,
[0040]url host為cmdLogin,[0041 ]傳遞的參數(shù)為:callback = clickme_login0
[0042 ]本發(fā)明實施例中,S2可以采用如下方法實施:將SI中獲得的含有所述URL鏈接的網(wǎng)頁加載入UIWebView容器中。
[0043]本發(fā)明實施例中,S4可以采用UIWebViewDelegate方法,解析所述URL鏈接,獲取所述URL鏈接的參數(shù)。
[0044]在本發(fā)明的一個優(yōu)選實施例中,S5之后還可以包括步驟:調(diào)用網(wǎng)頁JS方法,告知網(wǎng)頁,調(diào)用原生代碼寫的功能已完成,邏輯再回到網(wǎng)頁中。
[0045]在本發(fā)明的一個優(yōu)選實施例中,原生代碼功能完成后,原生語言調(diào)用UIWebView的str ingByEvaluat ingJavaScr iptFromStr ing 函數(shù),調(diào)用網(wǎng)頁 JS 語言的方法。
[0046]在本發(fā)明的一個優(yōu)選實施例中,S5之后還可以包括步驟:在1s系統(tǒng)中的原生語言中調(diào)用網(wǎng)頁的JS語言,實現(xiàn)利用原生語言調(diào)用JS語言的功能。
[0047]其中,所述實現(xiàn)利用原生語言調(diào)用JS語言的功能,具體可以為,采用UIWebView的-(NSString*)StringByEvaluatingjavaScriptFromString: (NSString*)scri pt方法,實現(xiàn)在1s系統(tǒng)中的原生語言中調(diào)用JS語言。
[0048]在本發(fā)明的一個優(yōu)選實施例中,所述實現(xiàn)利用原生語言調(diào)用JS語言的功能,可以包括:在原生代碼中實現(xiàn)JS代碼的增加、刪除和/或修改。
[0049]其中,SI中,所述自定義的URL鏈接包括登錄功能的鏈接、支付功能的鏈接和/或分享功能的鏈接。
[0050]SI中,登錄功能的所述自定義的URL鏈接,可以為:
[0051]<a href = ^autohome://cmdLogin?callback = clickme_login//>,
[0052]其中,
[0053]url scheme為autohome://,
[0054]url host為cmdLogin,
[0055]傳遞的參數(shù)為:callback= clickme_login0
[0056]要在網(wǎng)頁中調(diào)用原生語言,實現(xiàn)原生的登錄功能、支付功能或共享功能,需要在網(wǎng)頁中嵌入用于調(diào)用原生功能的自定義的URL鏈接。
[0057 ] URL 的一般格式為:scheme: //host: port/path?query#fragment,
[0058]自定義的URL鏈接按照URL的一般格式進行自定義,其中,urlscheme可以自定義命名,url host可以自定義功能名,由于自定義的參數(shù)與原生語言的參數(shù)相同,從而當用戶點擊該自定義的URL鏈接時,則可以根據(jù)這些參數(shù)調(diào)用原生語言,實現(xiàn)原生功能。
[0059]在實際操作過程中,可以使用windows.1ocat1n.href = 〃自定義的url〃或者href="自定義的url"實現(xiàn)在網(wǎng)頁中嵌入自定義的URL鏈接。在開發(fā)網(wǎng)頁的過程中,可以新建一個項目,在項目中新建一個helloworld.html。下面以寫一個調(diào)用原生登錄功能的鏈接為例,說明如何自定義具有原生語言調(diào)用功能的URL鏈接:
[0060]<a href = ^autohome://cmdLogin?callback = clickme_login//>,
[0061]其中,urlscheme:au
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
突泉县| 玛多县| 宾阳县| 广水市| 长海县| 灌阳县| 六安市| 桦南县| 莱阳市| 南江县| 邵东县| 武邑县| 靖远县| 手机| 牡丹江市| 东乌| 公安县| 伊吾县| 泸州市| 临武县| 手机| 秭归县| 铁岭市| 仪征市| 涞水县| 德江县| 海口市| 谷城县| 靖西县| 鄂温| 株洲市| 尼勒克县| 行唐县| 石狮市| 海盐县| 庆元县| 锦屏县| 原平市| 延边| 通河县| 宜君县|