999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于類的多在線編輯器的設計

2020-09-28 07:05:41黃金春杜娟嬌
電腦知識與技術 2020年16期

黃金春 杜娟嬌

摘要:當前常需要在web2.0網站設計中使用多個在線編輯器,一般設計模式使網頁較為臃腫。為此該文介紹一種基于類的多在線編輯器設計思路,并提供了相關的主要代碼,實踐證明該方法不但能較好的解決網頁臃腫問題還可以加快網頁加載速度。其代碼均JavaScript程序設計,讀者也可根據此思路用于其他方面。

關鍵詞:多在線編輯器;類設計;JavaScript

中圖分類號:TP311? ? ? 文獻標識碼:A

文章編號:1009-3044(2020)16-0089-02

1 前言

在進行web2.0網站設計時,在線編輯器作為一種實用的內容輸入平臺常常在網頁里進行使用,而在某些特殊的場合一個網頁里甚至會使用到多個在線編輯器(比如在進行網絡教學平臺設計的時候,在設計題目輸入方面,題干部分需要用到在線編輯器,題目里的每個選擇也需要用到在線編輯器)。這種情況下,必將涉及多在線編輯器設計問題。比較常用的方法是,為每個需要的編輯器都設計html代碼,并且為了區分不同在線編輯器內容或操作,引入大量的id,這樣不但使網頁非常龐大,也會產生非常多的id,使得網頁的加載非常緩慢,影響用戶的體驗。在此介紹一種基于JavaScript類的多在線編輯器的設計,實踐證明該設計不但可以大大減少網頁的代碼量,同時也減少id的使用。

2 JavaScript類的定義及使用

JavaScript是web前端最為常用的一種應用程序,也是進行在線編輯器設計的程序。JavaScript1.5 版本后提供了很多新的特征[1],其中最為吸引人的就是引入了類的概念。只是在JavaScript里類和java里的類定義并不一樣。

在JavaScript中沒有明確的類定義語法,它是一種以對象為主的設計方式,主要語法為:

3 基于類設計的在線編輯器原理

4 基于類設計的在線編輯器的實現

4.1 在線編輯器類的工作流程

4.2 在線編輯器類的外觀設計

在線編輯器的外觀設計并不復雜,可以使用現在常用的html和css進行設計,這不是本文關鍵點,在此不做詳細說明。這里僅說明需要注意的問題,編輯器的html文檔僅是部分的html代碼。之所以是部分html代碼主要是因為,在線編輯器并不作為原來網頁的一個內容,而是單獨作為一個模塊。當需要它時才在原來網頁里加載。

4.3 在線編輯器類設計

4.3.1 類的屬性設計

類的設計是整個設計的核心,因為要進行區分多個對象實例,所以設計編輯器構造函數時,需要增加記錄是第幾個對象作為屬性參數,此外還需要有存儲其寬度、對應的浮動編輯框等等屬性。類設計核心代碼示例如下:

4.3.2 類的方法設計

編輯器類還要包括一些必要的方法,這些方法分兩種類型,一種是修改編輯器的某些屬性的方法,如寬度等。

另一種是實現編輯器功能的方法,這是編輯器類的重要方法,具體功能設計是JavaScript程序編寫,功能方面內容在很多文章里都介紹有,例如:讓瀏覽器執行命令使用execCommand方法[2]。在此僅說明類方面的設計部分,這個部分設計關鍵有兩點,首先是語法必須按照JavaScript類方法來設計,其次在進行對象操作時,必需使用this引用。其主要代碼如下所示:

4.4 在線編輯器類的共有方法設計

編輯器除了自已的方法外,還需要一些共用的方法,例如,當需要進行某些對話操作時,要先對網頁進行層遮蓋,這些方法并不需要區分是哪個編輯器操作的,因此設計為共有的方法,其實就是原JavaScript的函數語法,類似代碼如下:

4.5 編輯器類的使用

4.5.1 在網頁里設置定位

4.5.2 使用JavaScript進行加載編輯器代碼

在JavaScript里使用共有函數進行查找所有class,并加載對應的在線編輯器代碼。主要代碼如下:

4.5.3 實現在線編輯器的功能按鈕單擊

編輯器里的功能按鈕,主要指那些工具欄里的按鈕,其可以使用onclick事件進行,示例代碼如下:

在JavaScript里設置對應函數實現單擊功能,該函數首先使用JavaScript的Event對象[3]獲取單擊事件的源,即獲得是什么單擊,然后獲得事件源對應的編輯器編號(就是產生實例的那個參數),即是哪個編輯器進行了單擊,然后調用對應的編輯器對象完成操作,主要代碼如下:

5 小結

在web2.0模式下,網頁設計中都包括有在線編輯器的需求,而對于那些需進行多輸入的情況,往往會在一個網頁里需要多個文本編輯器。在自行設計時,筆者采用了類設計的模式,實踐證明它是一種可以縮小程序規模,加快頁面加載速度的辦法。本文沒有介紹如何實現在線編輯器各種功能,有興趣的讀者可在網上查閱,這方面的內容很多。

參考文獻:

[1] Cody Lindley.JavaScript啟示錄[M].徐濤,譯.北京:人民郵電出版社,2016.

[2] Mozilla and individual contributors Document.execCommand()[EB/OL].[2019-12-20].https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand.

[3] w3school HTML DOM Event 對象[EB/OL].[2019-12-20].https://www.w3school.com.cn/jsref/dom_obj_event.asp.

【通聯編輯】謝媛媛

主站蜘蛛池模板: 白浆免费视频国产精品视频| 欧美福利在线观看| 天天综合网色中文字幕| 欧美午夜性视频| 欧美va亚洲va香蕉在线| 国外欧美一区另类中文字幕| 国产一区二区精品福利| 综合色88| 欧美一区中文字幕| 激情网址在线观看| 国产精品欧美在线观看| 男女性色大片免费网站| 九九视频免费在线观看| 亚洲第一极品精品无码| 伊人精品成人久久综合| 免费xxxxx在线观看网站| 激情综合图区| 国产欧美日韩一区二区视频在线| 亚洲精品无码抽插日韩| 国产91麻豆免费观看| 欧美在线天堂| 亚洲成aⅴ人在线观看| 亚洲第一精品福利| a色毛片免费视频| 欧美午夜一区| 欧美区一区| 色老头综合网| 国产sm重味一区二区三区| 国产国语一级毛片| 依依成人精品无v国产| 国产经典免费播放视频| 国产成人综合久久精品尤物| 国产精品久久久久久久伊一| 热99精品视频| 亚洲色图欧美| 26uuu国产精品视频| 国产午夜人做人免费视频中文 | 日本高清成本人视频一区| 色九九视频| 老司机精品久久| 亚洲精品无码人妻无码| 国内丰满少妇猛烈精品播| 亚洲日韩国产精品无码专区| 国产成人精品男人的天堂下载 | 在线观看亚洲精品福利片| 激情乱人伦| 亚洲精品制服丝袜二区| 中文无码精品A∨在线观看不卡 | 高清国产在线| 亚洲综合片| 青青国产视频| 欧美 国产 人人视频| 久久夜色撩人精品国产| 国产特一级毛片| 亚洲国产精品日韩av专区| www.亚洲国产| 国产日本一区二区三区| 制服丝袜亚洲| 老司国产精品视频91| 国产精品久久久久无码网站| 国产一区二区人大臿蕉香蕉| 日韩欧美在线观看| 国产成人精品免费视频大全五级 | 国产视频久久久久| 精品五夜婷香蕉国产线看观看| 国产精品视频观看裸模| 欧美在线伊人| 久久综合成人| 亚洲AV色香蕉一区二区| 无码人妻热线精品视频| 欧美日韩精品在线播放| 国产免费高清无需播放器| 伊在人亞洲香蕉精品區| 久久久久久午夜精品| 少妇精品在线| 精品无码国产自产野外拍在线| 欧美不卡视频在线| AV天堂资源福利在线观看| www中文字幕在线观看| 亚洲色精品国产一区二区三区| 亚洲视频无码| 国产精品开放后亚洲|