• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      嵌入式瀏覽器中JavaScript的設(shè)計與實現(xiàn)

      2017-02-20 09:16:35魯鵬禹
      數(shù)碼世界 2017年2期
      關(guān)鍵詞:插件瀏覽器網(wǎng)頁

      魯鵬禹

      遼寧省錦州市渤海大學信息科學與技術(shù)學院

      嵌入式瀏覽器中JavaScript的設(shè)計與實現(xiàn)

      魯鵬禹

      遼寧省錦州市渤海大學信息科學與技術(shù)學院

      隨著信息技術(shù)的飛速發(fā)展,移動終端發(fā)展軌跡發(fā)生了巨大的改變,從傳統(tǒng)意義上單一模式轉(zhuǎn)向多樣化進行發(fā)展。未來信息領(lǐng)域的發(fā)展方向是圍繞著通信以及因特網(wǎng),這些技術(shù)是大勢所趨。現(xiàn)今,國內(nèi)許多的移動運營商都逐漸實現(xiàn)了移動互聯(lián)網(wǎng),該平臺是一種開放式的服務(wù)型平臺,并且主要的發(fā)展是圍繞則會圍著數(shù)據(jù)傳輸向3G時代進行改變。該背景下本文完成了嵌入式瀏覽器中JavaScript的設(shè)計與實現(xiàn)。

      嵌入式 瀏覽器 JavaScript

      隨著WAP2.0規(guī)范的逐漸形成,實現(xiàn)因特網(wǎng)和移動網(wǎng)絡(luò)之間的相互連通存在很大的的可能性。作為智能手機里面標準配置,嵌入式瀏覽器在Internet不斷發(fā)展的前提下取得了很大的進步,并且與移動互聯(lián)網(wǎng)相比,在數(shù)據(jù)資源方面有著很大的優(yōu)勢,因此目前的嵌入式瀏覽器可以訪問更多的資源并且除了支持wap1.x網(wǎng)頁以外,還可以實現(xiàn)更多的功能。在新版的WAP2.0規(guī)范中針對這個問題進行了重大的研究。為了在逐漸增強網(wǎng)頁以及用戶間的交互性、實用性以及動態(tài)性等,將大量的JavaScript代碼嵌入到Internet網(wǎng)頁中,這在一定的程度上大大減少了服務(wù)器與通信網(wǎng)絡(luò)之間的負荷,同時還有很多的網(wǎng)頁中的內(nèi)容的實現(xiàn)是通過JS代碼形成的。當嵌入式瀏覽器無法支持JavaScript的時候,將會在很大程度上降低瀏覽器訪問的能力。因此現(xiàn)在的很多嵌入式瀏覽器需要嵌入JS從而完成瀏覽器的配置。另外能夠?qū)⒁苿訑?shù)據(jù)服務(wù)中所存在的的內(nèi)容不足這個缺點得到解決。

      1 嵌入式瀏覽器

      在大多數(shù)人看來,研究瀏覽器不會有很大的發(fā)展,但是仍然存在很大的研究意義,F(xiàn)irefox存在很大的研究空間,Opera被Google收購表明了Google很快會走向瀏覽器的道路,然而IE所占有的比例有90%以上,現(xiàn)今的這個局面瀏覽器的研究已經(jīng)得到了很大的發(fā)展。

      所謂嵌入式瀏覽器,一般指能解析網(wǎng)頁內(nèi)容的程序,而又往往是別的程序的一部分,舉個例子來說,QQ登錄之后彈出的每日新聞,迅雷登錄之后彈出的迅雷新聞,都可以歸為這一類。嵌入式瀏覽器,一般指能解析網(wǎng)頁內(nèi)容程序,而又往往是別的程序一部分。

      特點:①具有弱小的CPU能力,功能損耗比較低,而且很多的并非是X86架構(gòu),而是ARM核心,有的還是以DSP為主,這些處理器不如PC的處理器的能力,同時也有很多的種類。②可以使用的內(nèi)存資源有限,大小范圍是從5MB到32MB進行變化。③不需要具備WEB特性,只需要能支持HTML就可以。現(xiàn)在有些網(wǎng)頁會使用JavaScript語言來輔助編輯,使到網(wǎng)頁達到某種效果或者附帶某些小程序,當然這些大部分都是安全的。當進入網(wǎng)頁后顯示不正常,這很可能是由于瀏覽器版本太低了,現(xiàn)在大多數(shù)瀏覽器都支持JavaScript腳本的。

      2 JavaScript

      JavaScript既是一種描述語言,也是一種基于對象和事件驅(qū)動,并且具有安全性能的腳本語言。腳本的基本結(jié)構(gòu):

      是注釋標記,瀏覽器不支持javascript時,標記將被忽略。

      在瀏覽器中運行javascript腳本是以標記為起始點,接下來會繼續(xù)逐步地繼續(xù)執(zhí)行。將信息顯示出來是通過document.write()實現(xiàn)的。當有document.write()時,執(zhí)行html文檔,從而可以發(fā)現(xiàn)其中的代碼出現(xiàn)了變化。在執(zhí)行javascript腳本的時候要謹慎。具體的腳本的執(zhí)行原理如下所示:

      ①瀏覽器接收用戶的請求,用戶在地址欄輸入網(wǎng)址。②瀏覽器把請求消息發(fā)送到服務(wù)器。③服務(wù)器向瀏覽器發(fā)送響應(yīng)消息,將heml頁面發(fā)送給客戶端瀏覽器解析html文檔。如果需要實現(xiàn)進行類型的轉(zhuǎn)換,例如將整型轉(zhuǎn)為字符串用toString()函數(shù)實現(xiàn),字符串向浮點型轉(zhuǎn)變用函數(shù)parseFloat()。

      當字符中不存在從0到9以及指數(shù)的時候,可以把這個字符以及字符之后忽略掉。無法轉(zhuǎn)換返回NaN,非數(shù)字Not a Number。

      接著獲取表單中的數(shù)據(jù):document.表單名.表單元素名.value。

      函數(shù)的定義:函數(shù)的主要功能是把具有一定功能的代碼執(zhí)行。當函數(shù)可以經(jīng)過多次調(diào)用的時候,可以將代碼的重用率提高很多。

      定義函數(shù)語法:function函數(shù)名(形式參數(shù)){ javascript語句;}。

      函數(shù)的定義放在標簽中間。當調(diào)用函數(shù)的時候,首先第一步是進函數(shù)的定義,接著函數(shù)才能夠被調(diào)用。例如調(diào)用單擊按鈕事件的函數(shù)是可以寫成onClick=“count()”;定義函數(shù)時聲明了形式參數(shù),調(diào)用函數(shù)時要傳遞實際參數(shù)。多個參數(shù)用“,”號隔開。

      javascript采用傳值調(diào)用。當調(diào)用函數(shù)的過程中實參需要和形參中的個數(shù)以及順序保持一致。

      形式參數(shù):當函數(shù)定義的過程中,需要注意函數(shù)中的參數(shù)順序以及個數(shù)。

      實際參數(shù):調(diào)用函數(shù)時傳遞給函數(shù)的參數(shù)值。函數(shù)的參數(shù)可有一個或多個,或者一個也沒有。事件監(jiān)聽語法:

      IE:

      attachEvent(type,callback)

      type:事件名 如:onclick、onsubmit、onchange等

      callback:事件處理程序

      基于W3C模型:

      addEventListener(type,callback,capture)

      Type:事件名 ,沒有“on”前綴 如:click、submit、change

      Callback:事件處理程序

      Capture:事件模型 (冒泡模型、捕捉模型) true:捕捉模型

      false:冒泡模型 (默認值)

      3 javascript事件概述

      IE和W3C事件監(jiān)聽的不同:

      監(jiān)聽方法不同:IE attachEvent、W3C addEventListener。

      監(jiān)聽參數(shù)不同:IE不具備模型參數(shù)。而W3C具備模型參數(shù),其中當該參數(shù)是flase的時候,表示冒泡事件。觸發(fā)順序定義為:觸發(fā)IE8及IE8以下瀏覽器的時候要提前綁定,接著W3C瀏覽器會被觸發(fā)。先觸發(fā)事件有不一樣的名稱:IE事件需要“on”前綴,W3C不需要“on”前綴。

      3.1 事件模型

      事件模型(事件的觸發(fā)順序)分為兩種:Body嵌套div1,div1嵌套div2,div2嵌套div3。①冒泡模型;②捕捉模型。目前,IE只支持冒泡模型。

      3.2 事件冒泡

      事件冒泡從字面意思看是事件觸發(fā)后元素會下升到頂端。也意味著。冒泡事件是從下面到上面的,觸發(fā)DOM目標元素,并且執(zhí)行該目標元素以后,元素會逐個上升到頂部。

      3.3 捕獲階段

      當觸發(fā)DOM樹節(jié)點時就會有相應(yīng)的事件響應(yīng),事件就會在節(jié)點觸發(fā)之后發(fā)射。該事件發(fā)出點是Window,通過多次經(jīng)過下級節(jié)點最后再到目標節(jié)點。這個目標節(jié)點到達之前的整個過程稱為捕獲階段,簡稱是Capture Phase。

      在所有的節(jié)點都有經(jīng)過的時候,事件就會被觸發(fā)。捕獲階段的主要目的是確定該事件的傳遞路線,從而便于冒泡階段會按照這個路線返回到Window。

      該觸發(fā)事件的監(jiān)聽過程是需要將監(jiān)聽事件函數(shù)的參數(shù)設(shè)置為true。

      4 JS處理器插件的設(shè)計與實現(xiàn)

      4.1 JS處理器插件的運行設(shè)計

      在瀏覽器中分析語法部分中設(shè)計JS處理器插件,并且結(jié)合部分還有瀏覽器。同時所包括的模塊還有另外的幾個,處理網(wǎng)頁中需要對網(wǎng)頁進行同步處理,并且相互協(xié)作,最后和圖形的用戶接口實現(xiàn)交互,當圖形接口的事件觸發(fā)后就會調(diào)用相應(yīng)的事件函數(shù),從而完成操作,另外還需要將處理實現(xiàn)的結(jié)果發(fā)送到圖形用戶的接口中,而且還需要更新瀏覽器的內(nèi)核數(shù)據(jù)。

      因此需要高度重視JS插件的運行,其對JS插件實現(xiàn)高效運行以及插件設(shè)計都有重要的影響關(guān)系。模塊初始化流程圖如圖1所示。

      圖1 模塊初始化流程圖

      4.2 JavaScript處理器插件的系統(tǒng)組成

      JS處理器插件的組成部分包括了JS資源管理模塊、JS代碼段解釋執(zhí)行模塊、同時實現(xiàn)JS瀏覽器對象的事件處理模塊和管理模塊的新建等,其次還附加數(shù)學函數(shù)庫的支持。體系結(jié)構(gòu)如圖2所示。

      圖2 系統(tǒng)總體結(jié)構(gòu)圖

      4.3 Javascript處理器插件的事件處理器

      Javascript語言的運行要借用事件的驅(qū)動實現(xiàn)。網(wǎng)頁和用戶之間的相互交流是通過javascript實現(xiàn)的,從而最終完成網(wǎng)頁動態(tài)顯示的效果。在解析網(wǎng)頁的過程中實現(xiàn)了JS客戶端對象的創(chuàng)建以及標簽的解釋和執(zhí)行等,程序的執(zhí)行是通過事件進行觸發(fā)的,事件函數(shù)的處理也是通過事件處理實現(xiàn)的,JS處理器插件中的一個重要的組成部分就是事件的處理。因此,為了保證事件可以正常的運行就需要保證JS處理器插件的實現(xiàn)。JS處理器插件的在很多的移動終端中都有廣泛的應(yīng)用,mobile pritile的事件模型中都借用到了js處理器插件。

      5 運行結(jié)果圖

      通過訪問大量的網(wǎng)站,特別是訪問電子郵箱。由于通過瀏覽器訪問電子郵箱的時候要解釋執(zhí)行大量的JS代碼,當電子郵箱訪問成功的時候,能夠說明對JavaScript支持情況是比較全面的。瀏覽器訪問mail.163.com的結(jié)果提圖3所示。

      圖 3-1 密碼錯誤

      圖 3-3 郵件列表

      結(jié)語:隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,基于JavaScript技術(shù)的網(wǎng)頁開發(fā)在網(wǎng)站設(shè)計中占據(jù)很重要的角色。為了迎合市場的需要,增強瀏覽器的訪問能力,將javascript應(yīng)用到嵌入式瀏覽器中具有重要的作用。

      圖 3-2 進入郵箱

      [1]林長征,鄭浩然,熊軍,等.嵌入式瀏覽器中CSS技術(shù)的研究與實現(xiàn)[J].計算機工程與應(yīng)用,2006,42(23):92-94

      [2]劉海雄,陽富民,胡貫榮.嵌入式瀏覽器中Cookie技術(shù)的實現(xiàn)[J].計算機工程與設(shè)計,2003,24(6):39-41

      [3]劉志斌,謝長生.MiniGUI在嵌入式瀏覽器中的應(yīng)用[J].信息安全與通信保密,2004(7):25-27

      [4]陳卉.數(shù)字電視機頂盒嵌入式瀏覽器中間件設(shè)計[J].電視技術(shù),2009,33(s1):84-85

      猜你喜歡
      插件瀏覽器網(wǎng)頁
      自編插件完善App Inventor與樂高機器人通信
      電子制作(2019年22期)2020-01-14 03:16:34
      反瀏覽器指紋追蹤
      電子制作(2019年10期)2019-06-17 11:45:14
      基于CSS的網(wǎng)頁導航欄的設(shè)計
      電子制作(2018年10期)2018-08-04 03:24:38
      基于URL和網(wǎng)頁類型的網(wǎng)頁信息采集研究
      電子制作(2017年2期)2017-05-17 03:54:56
      環(huán)球瀏覽器
      再見,那些年我們嘲笑過的IE瀏覽器
      英語學習(2015年6期)2016-01-30 00:37:23
      網(wǎng)頁制作在英語教學中的應(yīng)用
      電子測試(2015年18期)2016-01-14 01:22:58
      MapWindowGIS插件機制及應(yīng)用
      基于Revit MEP的插件制作探討
      10個必知的網(wǎng)頁設(shè)計術(shù)語
      平遥县| 美姑县| 石台县| 盐亭县| 芦溪县| 临泽县| 基隆市| 芦溪县| 陆良县| 东平县| 商都县| 南澳县| 新河县| 清镇市| 舟山市| 仁寿县| 勐海县| 抚远县| 兴安县| 保康县| 望都县| 青浦区| 那坡县| 桂阳县| 仁布县| 合水县| 柳河县| 桦南县| 河间市| 拉孜县| 金阳县| 偃师市| 通许县| 楚雄市| 鞍山市| 景谷| 西平县| 漳平市| 灌南县| 喀喇沁旗| 辽宁省|