因?yàn)樽罱袀€(gè)需求,在從后臺(tái)定時(shí)獲取數(shù)據(jù)后展示,可以加粗和改變字體顏色,并且支持redo和undo,但不支持編輯文字,其實(shí)就是加個(gè)富文本但不能編輯。我剛拿到需求想,這不是很簡(jiǎn)單的需求,但后來(lái)發(fā)現(xiàn)這就是個(gè)坑。。
創(chuàng)新互聯(lián)長(zhǎng)期為上千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為紅山企業(yè)提供專業(yè)的做網(wǎng)站、網(wǎng)站制作,紅山網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
1、剛一開(kāi)始,我用了項(xiàng)目原本使用的富文本編輯器 vue-html5-editor ,但發(fā)現(xiàn)并不能實(shí)現(xiàn)不編輯文字又能改樣式,這時(shí)的我還沒(méi)有意識(shí)到事情的嚴(yán)重性,以為只是個(gè)例,于是我又找了另一款富文本編輯器。
2、 wangeditor 是一款國(guó)人開(kāi)發(fā)的富文本編輯器,輕量、強(qiáng)大,但它也不支持不編輯文字又能改樣式,于是我覺(jué)得我得明白這些編輯器的原理到底是怎樣的。
3、在查看了源碼后,我終于明白上面的兩款編輯器為什么不能不編輯文字又能改樣式。上面的編輯器實(shí)現(xiàn)原理是根據(jù) contenteditable 這個(gè)屬性來(lái)使一個(gè)div變?yōu)榭删庉嫚顟B(tài),并且利用 execCommand 方法實(shí)現(xiàn)粗體、字體等一系列樣式實(shí)現(xiàn),但這個(gè)方法只在div是可編輯狀態(tài)時(shí)可用,所以當(dāng)我把contenteditable改為false后,execCommand就不管用了,所以才改不了樣式。
4、知道了這點(diǎn)后,我明白應(yīng)該尋找一款不依賴execCommand的富文本編輯器,我找到了 tiptap 和 ckeditor5 。
5、在對(duì)這兩款進(jìn)行了一定研究后,我發(fā)現(xiàn)了另一問(wèn)題--它們會(huì)清除元素中的自定義屬性。
例如這樣的數(shù)據(jù),會(huì)變?yōu)檫@樣
這是我不能接受的,我開(kāi)始了漫長(zhǎng)的尋找解決辦法之路。
經(jīng)過(guò)了很長(zhǎng)時(shí)間的看源碼--查資料--看源碼,終于解決了這個(gè)問(wèn)題。
我使用的是 element-tiptap ,其實(shí)直接使用tiptap也可以,但因?yàn)槲业捻?xiàng)目就是使用的element-ui,所以我直接使用了這個(gè)庫(kù)。
首先需要
然后
具體的我就不說(shuō)了,我主要說(shuō)自己寫的span這個(gè)節(jié)點(diǎn)
attrs里就是需要保留的屬性,parseDOM就是解析dom時(shí)所觸發(fā)的方法,可以在這里獲取到屬性,在toDOM生成DOM是把這些屬性加上。
======================================================================================》
最后我還是使用了quill,因?yàn)閐elta。。。
quill配置如下:
后臺(tái)的數(shù)據(jù)處理與實(shí)時(shí)聯(lián)動(dòng)用到了ShareDB和richText
處理數(shù)據(jù)時(shí)使用 wss動(dòng)態(tài)給到delta數(shù)據(jù),然后使用setContents顯示到頁(yè)面上
使用text-change監(jiān)聽(tīng)事件監(jiān)聽(tīng)文本改動(dòng)并返回
記錄一下。
// 全局組件名稱,使用new VueHtml5Editor(options)時(shí)該選項(xiàng)無(wú)效 // global component name name: "vue-html5-editor",// 是否顯示模塊名稱,開(kāi)啟的話會(huì)在工具欄的圖標(biāo)后臺(tái)直接顯示名稱 // if set true,will append module name to toolbar after icon showModuleName: false,// 自定義各個(gè)圖標(biāo)的class,默認(rèn)使用的是font-awesome提供的圖標(biāo) // custom icon class of built-in modules,default using font-awesome icons: { text: "fa fa-pencil", color: "fa fa-paint-brush", font: "fa fa-font", align: "fa fa-align-justify", list: "fa fa-list", link: "fa fa-chain", unlink: "fa fa-chain-broken", tabulation: "fa fa-table", image: "fa fa-file-image-o", hr: "fa fa-minus", eraser: "fa fa-eraser", undo: "fa-undo fa", "full-screen": "fa fa-arrows-alt", info: "fa fa-info",
},// 配置圖片模塊 // config image module image: { // 文件最大體積,單位字節(jié) max file size sizeLimit: 512 * 1024, // 上傳參數(shù),默認(rèn)把圖片轉(zhuǎn)為base64而不上傳
// upload config,default null and convert image to base64 upload: { url: null, headers: {}, params: {}, fieldName: {}
}, // 壓縮參數(shù),默認(rèn)使用localResizeIMG進(jìn)行壓縮,設(shè)置為null禁止壓縮
// compression config,default resize image by localResizeIMG ()
// set null to disable compression compress: { width: 1600, height: 1600, quality: 80
}, // 響應(yīng)數(shù)據(jù)處理,最終返回圖片鏈接
// handle response data,return image url
uploadHandler(responseText){ //default accept json data like {ok:false,msg:"unexpected"} or {ok:true,data:"image url"}
var json = JSON.parse(responseText)
if (!json.ok) {
alert(json.msg)
} else {
return json.data
}
}
},// 語(yǔ)言,內(nèi)建的有英文(en-us)和中文(zh-cn) //default en-us, en-us and zh-cn are built-in language: "zh-cn",// 自定義語(yǔ)言 i18n: { //specify your language here
"zh-cn": { "align": "對(duì)齊方式", "image": "圖片", "list": "列表", "link": "鏈接", "unlink": "去除鏈接", "table": "表格", "font": "文字", "full screen": "全屏", "text": "排版", "eraser": "格式清除", "info": "關(guān)于", "color": "顏色", "please enter a url": "請(qǐng)輸入地址", "create link": "創(chuàng)建鏈接", "bold": "加粗", "italic": "傾斜", "underline": "下劃線", "strike through": "刪除線", "subscript": "上標(biāo)", "superscript": "下標(biāo)", "heading": "標(biāo)題", "font name": "字體", "font size": "文字大小", "left justify": "左對(duì)齊", "center justify": "居中", "right justify": "右對(duì)齊", "ordered list": "有序列表", "unordered list": "無(wú)序列表", "fore color": "前景色", "background color": "背景色", "row count": "行數(shù)", "column count": "列數(shù)", "save": "確定", "upload": "上傳", "progress": "進(jìn)度", "unknown": "未知", "please wait": "請(qǐng)稍等", "error": "錯(cuò)誤", "abort": "中斷", "reset": "重置"
}
},// 隱藏不想要顯示出來(lái)的模塊 // the modules you don't want hiddenModules: [],// 自定義要顯示的模塊,并控制順序 // keep only the modules you want and customize the order. // can be used with hiddenModules together visibleModules: [ "text", "color", "font", "align", "list", "link", "unlink", "tabulation", "image", "hr", "eraser", "undo", "full-screen", "info",
],// 擴(kuò)展模塊,具體可以參考examples或查看源碼 // extended modules modules: { //omit,reference to source code of build-in modules }
Html是英文HyperTextMarkupLanguage的縮寫,中文意思是“超文本標(biāo)志語(yǔ)言”,用它編寫的文件(文檔)的擴(kuò)展名是.html或.htm,它們是可供瀏覽器解釋瀏覽的文件格式。您可以使用記事本、寫字板或FrontPageEditor等編輯工具來(lái)編寫Html文件。Html語(yǔ)言使用標(biāo)志對(duì)的方法編寫文件,既簡(jiǎn)單又方便,它通常使用標(biāo)志名/標(biāo)志名來(lái)表示標(biāo)志的開(kāi)始和結(jié)束(例如html/html標(biāo)志對(duì)),因此在Html文檔中這樣的標(biāo)志對(duì)都必須是成對(duì)使用的。
Html的基本標(biāo)志: 1.html/html html標(biāo)志用于Html文檔的最前邊,用來(lái)標(biāo)識(shí)Html文檔的開(kāi)始。而/html標(biāo)志恰恰相反,它放在Html文檔的最后邊,用來(lái)標(biāo)識(shí)Html文檔的結(jié)束,兩個(gè)標(biāo)志必須一塊使用。 2.head/head head和/head構(gòu)成Html文檔的開(kāi)頭部分,在此標(biāo)志對(duì)之間可以使用title/title、script/script等等標(biāo)志對(duì),這些標(biāo)志對(duì)都是描述Html文檔相關(guān)信息的標(biāo)志對(duì),head/head標(biāo)志對(duì)之間的內(nèi)容是不會(huì)在瀏覽器的框內(nèi)顯示出來(lái)的。兩個(gè)標(biāo)志必須一塊使用。 3.body/body body/body是Html文檔的主體部分,在此標(biāo)志對(duì)之間可包含p、/p、h1、/h1、br、hr等等眾多的標(biāo)志,它們所定義的文本、圖像等將會(huì)在瀏覽器的框內(nèi)顯示出來(lái)。兩個(gè)標(biāo)志必須一塊使用。body標(biāo)志中還可以有以下屬性:屬性 用途 示例 bodybgcolor="#rrggbb"設(shè)置背景顏色。bodybgcolor="red"紅色背景 bodytext="#rrggbb"設(shè)置文本顏色。bodytext="#0000ff"藍(lán)色文本 bodylink="#rrggbb"設(shè)置鏈接顏色。bodylink="blue"鏈接為藍(lán)色 bodyvlink="#rrggbb"設(shè)置已使用的鏈接的顏色。bodyvlink="#ff0000" bodyalink="#rrggbb"設(shè)置正在被擊中的鏈接的顏色。bodyalink="yellow" 說(shuō)明:以上各個(gè)屬性可以結(jié)合使用,如bodybgcolor="red"text="#0000ff"。引號(hào)內(nèi)的rrggbb是用六個(gè)十六進(jìn)制數(shù)表示的RGB(即紅、綠、藍(lán)三色的組合)顏色,如#ff0000對(duì)應(yīng)的是紅色。此外,還可以使用Html語(yǔ)言所給定的常量名來(lái)表示顏色:Black、White、Green、Maroon、Olive、Navy、Purple、Gray、Yellow、Lime、Agua、Fuchsia、Silver、Red、Blue和Teal,如bodytext="Blue"表示body/body標(biāo)志對(duì)中的文本使用藍(lán)色顯示在瀏覽器的框內(nèi)。 4.title/title 使用過(guò)瀏覽器的人可能都會(huì)注意到瀏覽器窗口最上邊藍(lán)色部分顯示的文本信息,那些信息一般是網(wǎng)頁(yè)的“主題”,要將您的網(wǎng)頁(yè)的主題顯示到瀏覽器的頂部其實(shí)很簡(jiǎn)單,只要在title/title標(biāo)志對(duì)之間加入您要顯示的文本即可。注意:title/title標(biāo)志對(duì)只能放在head/head標(biāo)志對(duì)之間。
1.
Mercury
:
HTML5
Powered
WYSIWYG
Editor
Mercury
是個(gè)全功能的編輯器,包含TinyMCE和CKEditor同樣的功能,但又有不同的特性。與iFrames有所不同,它使用了HTML5內(nèi)容可編輯功能等。Mercury
是由
CoffeeScript
代碼編寫
自1999年以后HTML 4.01 已經(jīng)改變了很多,今天,在HTML 4.01中的幾個(gè)已經(jīng)被廢棄,這些元素在HTML5中已經(jīng)被刪除或重新定義。
為了更好地處理今天的互聯(lián)網(wǎng)應(yīng)用,HTML5添加了很多新元素及功能,比如: 圖形的繪制,多媒體內(nèi)容,更好的頁(yè)面結(jié)構(gòu),更好的形式 處理,和幾個(gè)api拖放元素,定位,包括網(wǎng)頁(yè) 應(yīng)用程序緩存,存儲(chǔ),網(wǎng)絡(luò)工作者,等。 video標(biāo)記
定義和用法:
/video 標(biāo)簽定義視頻,比如電影片段或其他視頻流。
audio 標(biāo)記
定義和用法
/audio 標(biāo)簽定義聲音,比如音樂(lè)或其他音頻流。
實(shí)例:
一段簡(jiǎn)單的HTML5 音頻
audio src=
您的瀏覽器不支持 audio 標(biāo)簽。
/audio
canvas 標(biāo)記
定義和用法:
canvas 標(biāo)簽定義圖形,比如圖表和其他圖像。
HTML5 的 canvas 元素使用JavaScript 在網(wǎng)頁(yè)上繪制圖像。
畫(huà)布是一個(gè)矩形區(qū)域,您可以控制其每一像素。
canvas 擁有多種繪制路徑、矩形、圓形、字符以及添加圖像的方法。
實(shí)例:
通過(guò) canvas 元素來(lái)顯示一個(gè)紅色的矩形:
canvas id=myCanvas/canvas
script type=text/javascript
var canvas=document.getElementById('myCanvas');
var ctx=canvas.getContext('2d');
ctx.fillStyle='#FF0000';
ctx.fillRect(0,0,80,100);
/script 除了原先的DOM接口,HTML5增加了更多API,如:
1. 用于即時(shí)2D繪圖的Canvas標(biāo)簽
2. 定時(shí)媒體回放
3. 離線數(shù)據(jù)庫(kù)存儲(chǔ)
4.文檔編輯
5. 拖拽控制
6. 瀏覽歷史管理 新的解析順序新的元素:section, video, progress, nav, meter, time, aside, canvasinput
元素的新屬性:日期和時(shí)間,email, url。
新的通用屬性:ping, charset, async
全域?qū)傩裕篿d, tabindex, repeat。
移除元素:center, font, strike。 就是Html標(biāo)注的屬性里加上runat=server所構(gòu)成的控件,至于Html標(biāo)注和Html控件之間的區(qū)別很明顯,Html控件是運(yùn)行于服務(wù)器端,Html標(biāo)注是運(yùn)行于客戶端。
基本Html控件有:HtmlTexArea\HtmlTable\HtmlImage\HtmlButton\HtmlSelect\HtmlForm\HtmlInput。
自定義的Html控件是根據(jù)自己的需求定義。當(dāng)自主開(kāi)發(fā)效率低,可以從技術(shù)社區(qū)、源碼網(wǎng)站下載需要的控件。比如,需要插入table, image, links 等標(biāo)簽。不必自己開(kāi)發(fā),可以使用:ComponentOne Wijmo Editor等。
免費(fèi)HTML5圖表庫(kù)——.Net圖表控件Chart FX,深受大家喜愛(ài),相信大家已經(jīng)非常熟悉了。而且還從Chart FX的開(kāi)發(fā)商SoftwareFX獲得一個(gè)激動(dòng)人心的消息:該公司已推出一套為HTML5,jQuery和JavaScript開(kāi)發(fā)者設(shè)計(jì)的圖表庫(kù)——jChartFX,而且jChartFX是免費(fèi)的! .Net圖表控件Chart FX相信大家已經(jīng)非常熟悉了。Chart FX的開(kāi)發(fā)商SoftwareFX推出的一套為HTML5、jQuery和JavaScript開(kāi)發(fā)者設(shè)計(jì)的免費(fèi)HTML5圖表庫(kù)——jChartFX!
jChartFX亮點(diǎn): jChartFX充分利用了HTML5,CSS和SVG,讓您能夠在瀏覽器提供美觀優(yōu)越的圖表和更豐富的最終用戶體驗(yàn)。 jChartFX擁有很多令人振奮的功能,它在無(wú)插件純JavaScript的瀏覽器上運(yùn)行,這意味著在提高了網(wǎng)站安全性和速度的同時(shí),最大程度的減少了網(wǎng)站服務(wù)器的負(fù)荷。 jChartFX還能夠自動(dòng)整合到j(luò)Query UI ThemeRoller,自動(dòng)讀取并解釋jQuery的主題和CSS文件,能夠快速適應(yīng)您的頁(yè)面布局和設(shè)計(jì),無(wú)需一行代碼。 jChartFX支持JSON,JSON能夠幫助您實(shí)現(xiàn),任何數(shù)據(jù)源中的數(shù)據(jù)都可以展現(xiàn)到圖表中。 jChartFX還支持超過(guò)40種的2D、3D圖表類型,免費(fèi)的圖表控件中支持如此之多的圖表展示類型實(shí)屬難得。 注:在下面表格中4: 指在HTML 4.01 中定義了該元素 5: 指在HTML 5 中定義了該元素 按字母順序排列的標(biāo)簽列表標(biāo)簽 描述 !--...-- 定義注釋 4 5 !DOCTYPE 定義文檔類型 4 5 a 定義超鏈接 4 5 abbr 定義縮寫 4 5 acronym HTML 5 中不支持 4 address 定義地址元素 4 5 applet 定義 applet(HTML 5 中不支持) 4 area 定義圖像映射中的區(qū)域 4 5 article 定義 article 5 aside 定義頁(yè)面內(nèi)容之外的內(nèi)容 5 audio 定義聲音內(nèi)容 5 b 定義粗體文本 4 5 base 定義頁(yè)面中所有鏈接的基準(zhǔn)URL 4 5 basefont HTML 5 中不支持,請(qǐng)使用CSS 代替 4 bdo 定義文本顯示的方向 4 5 big 定義大號(hào)文本(HTML 5 中不支持) 4 blockquote 定義長(zhǎng)的引用 4 5 body 定義 body 元素 4 5 br 插入換行符 4 5 button 定義按鈕 4 5 canvas 定義圖形 5 caption 定義表格標(biāo)題 4 5 center 定義居中的文本(HTML 5 中不支持) 4 cite 定義引用 4 5 code 定義計(jì)算機(jī)代碼文本 4 5 col 定義表格列的屬性 4 5 colgroup 定義表格列的分組 4 5 command 定義命令按鈕 5 datalist 定義下拉列表 5 dd 定義定義的描述 4 5 del 定義刪除文本 4 5 details 定義元素的細(xì)節(jié) 5 dfn 定義定義項(xiàng)目 4 5 dir 定義目錄列表(HTML 5 中不支持) 4 div 定義文檔中的一個(gè)部分 4 5 dl 定義定義列表 4 5 dt 定義定義的項(xiàng)目 4 5 em 定義強(qiáng)調(diào)文本 4 5 embed 定義外部交互內(nèi)容或插件 5 fieldset 定義 fieldset 4 5 figcaption 定義 figure 元素的標(biāo)題 5 figure 定義媒介內(nèi)容的分組,以及它們的標(biāo)題 5 font HTML 5 中不支持 4 footer 定義 section 或 page 的頁(yè)腳 5 form 定義表單 4 5 frame 定義子窗口(框架)(HTML 5 中不支持) 4 frameset 定義框架的集(HTML 5 中不支持) 4 h1 to h6 定義標(biāo)題1 到標(biāo)題6 4 5 head 定義關(guān)于文檔的信息 4 5 header 定義 section 或 page 的頁(yè)眉 5 hgroup 定義有關(guān)文檔中的 section 的信息 4 5 html 定義 html 文檔 4 5 i 定義斜體文本 4 5 iframe 定義行內(nèi)的子窗口(框架) 4 5 img 定義圖像 4 5 input 定義輸入域 4 5 ins 定義插入文本 4 5 keygen 定義生成密鑰 5 isindex 定義單行的輸入域(HTML 5 中不支持) 4 kbd 定義鍵盤文本 4 5 label 定義表單控件的標(biāo)注 4 5 legend 定義 fieldset 中的標(biāo)題 4 5 li 定義列表的項(xiàng)目 4 5 link 定義資源引用 4 5 map 定義圖像映射 4 5 mark 定義有記號(hào)的文本 4 5 menu 定義菜單列表 4 5 meta 定義元信息 4 5 meter 定義預(yù)定義范圍內(nèi)的度量 5 nav 定義導(dǎo)航鏈接 5 noframes 定義 noframe 部分(HTML 5 中不支持) 4 noscript 定義 noscript 部分 4 5 object 定義嵌入對(duì)象 4 5 ol 定義有序列表 4 5 optgroup 定義選項(xiàng)組 4 5 option 定義下拉列表中的選項(xiàng) 4 5 output 定義輸出的一些類型 5 p 定義段落 4 5 param 為對(duì)象定義參數(shù) 4 5 pre 定義預(yù)格式化文本 4 5 progress 定義任何類型的任務(wù)的進(jìn)度 5 q 定義短的引用 4 5 rp 定義若瀏覽器不支持 ruby 元素顯示的內(nèi)容 5 rt 定義 ruby 注釋的解釋 5 ruby 定義 ruby 注釋 5 s 定義加刪除線的文本(HTML 5 中不支持) 4 samp 定義樣本計(jì)算機(jī)代碼 4 5 script 定義腳本 4 5 section 定義 section 4 5 select 定義可選列表 4 5 small 定義小號(hào)文本 4 5 source 定義媒介源 4 5 span 定義文檔中的 section 4 5 strike 定義加刪除線的文本(HTML 5 中不支持) 4 strong 定義強(qiáng)調(diào)文本 4 5 style 定義樣式定義 4 5 sub 定義下標(biāo)文本 4 5 summary 定義 details 元素的標(biāo)題 5 sup 定義上標(biāo)文本 4 5 按字母順序排列的標(biāo)簽列表標(biāo)簽 描述 4: 指在HTML 4.01 中定義了該元素
5: 指在HTML 5 中定義了該元素 table 定義表格 4 5 tbody 定義表格的主體 4 5 td 定義表格單元 4 5 textarea 定義 textarea 4 5 tfoot 定義表格的腳注 4 5 th 定義表頭 4 5 thead 定義表頭 4 5 time 定義日期/時(shí)間 5 title 定義文檔的標(biāo)題 4 5 tr 定義表格行 4 5 tt 定義打字機(jī)文本 4 5u 定義下劃線文本(HTML 5 中不支持) 4 ul 定義無(wú)序列表 4 5 var 定義變量 4 5 video 定義視頻 5 xmp 定義預(yù)格式文本(HTML 5 中不支持) 4 HTML 5 元素可擁有事件屬性,這些屬性在瀏覽器中觸發(fā)行為,比如當(dāng)用戶單擊一個(gè)HTML 5元素時(shí)啟動(dòng)一段 JavaScript。下面列出的事件屬性,可以把它們插入 HTML 標(biāo)簽來(lái)定義事件行為。
HTML 5 中的新事件屬性:onabort, onbeforeunload, oncontextmenu, ondrag, ondragend, ondragenter, ondragleave, ondragover, ondragstart, ondrop, onerror, onmessage, onmousewheel, onresize, onscroll, onunload。
4: 指在HTML 4.01 中定義了該元素。
5: 指在HTML 5 中定義了該元素。
HTML 5不再支持的 HTML 4.01 屬性:onreset。 事件屬性屬性 值 描述 4 5 onabort script 發(fā)生 abort 事件時(shí)運(yùn)行腳本。 5 onbeforeonload script 在元素加載前運(yùn)行腳本。 5 onblur script 當(dāng)元素失去焦點(diǎn)時(shí)運(yùn)行腳本。 4 5 onchange script 當(dāng)元素改變時(shí)運(yùn)行腳本。 4 5 onclick script 在鼠標(biāo)點(diǎn)擊時(shí)運(yùn)行腳本。 4 5 oncontextmenu script 當(dāng)菜單被觸發(fā)時(shí)運(yùn)行腳本。 5 ondblclick script 當(dāng)鼠標(biāo)雙擊時(shí)運(yùn)行腳本。 4 5 ondrag script 只要腳本在被拖動(dòng)就運(yùn)行腳本。 5 ondragend script 在拖動(dòng)操作結(jié)束時(shí)運(yùn)行腳本。 5 ondragenter script 當(dāng)元素被拖動(dòng)到一個(gè)合法的放置目標(biāo)時(shí),執(zhí)行腳本。 5 ondragleave script 當(dāng)元素離開(kāi)合法的放置目標(biāo)時(shí)。 5 ondragover script 只要元素正在合法的放置目標(biāo)上拖動(dòng)時(shí),就執(zhí)行腳本。 5 ondragstart script 在拖動(dòng)操作開(kāi)始時(shí)執(zhí)行腳本。 5 ondrop script 當(dāng)元素正在被拖動(dòng)時(shí)執(zhí)行腳本。 5 onerror script 當(dāng)元素加載的過(guò)程中出現(xiàn)錯(cuò)誤時(shí)執(zhí)行腳本。 5 onfocus script 當(dāng)元素獲得焦點(diǎn)時(shí)執(zhí)行腳本。 4 5 onkeydown script 當(dāng)按鈕按下時(shí)執(zhí)行腳本。 4 5 onkeypress script 當(dāng)按鍵被按下時(shí)執(zhí)行腳本。 4 5 onkeyup script 當(dāng)按鈕松開(kāi)時(shí)執(zhí)行腳本。 4 5 onload script 當(dāng)文檔加載時(shí)執(zhí)行腳本。 4 5 onmessage script 當(dāng) message 事件觸發(fā)時(shí)執(zhí)行腳本。 5 onmousedown script 當(dāng)鼠標(biāo)按鈕按下時(shí)執(zhí)行腳本。 4 5 onmousemove script 當(dāng)鼠標(biāo)指針移動(dòng)時(shí)執(zhí)行腳本。 4 5 onmouseover script 當(dāng)鼠標(biāo)指針移動(dòng)到一個(gè)元素上時(shí)執(zhí)行腳本。 4 5 onmouseout script 當(dāng)鼠標(biāo)指針移出元素時(shí)執(zhí)行腳本。 4 5 onmouseup script 當(dāng)鼠標(biāo)按鈕松開(kāi)時(shí)執(zhí)行腳本。 4 5 onmousewheel script 當(dāng)鼠標(biāo)滾輪滾動(dòng)時(shí)執(zhí)行腳本。 5 onreset script 當(dāng)表單重置時(shí)執(zhí)行腳本。不支持。 4 onresize script 當(dāng)元素調(diào)整大小時(shí)運(yùn)行腳本。 5 onscroll script 當(dāng)元素滾動(dòng)條被滾動(dòng)時(shí)執(zhí)行腳本。 5 onselect script 當(dāng)元素被選中時(shí)執(zhí)行腳本。 4 5 onsubmit script 當(dāng)表單提交時(shí)運(yùn)行腳本。 4 5 onunload script 當(dāng)文檔卸載時(shí)運(yùn)行腳本。 5 HTML 5標(biāo)簽擁有屬性。在每個(gè)標(biāo)簽的參考頁(yè)中可以找到相應(yīng)的特殊屬性。這里列出的屬性是通用于每個(gè)標(biāo)簽的核心屬性和語(yǔ)言屬性(有個(gè)別例外)。
4: 指在HTML 4.01 中定義了該元素
5: 指在HTML 5 中定義了該元素
HTML 5標(biāo)簽中的新屬性有:contenteditable, contextmenu, draggable, irrelevant, ref,registrationmark, template
HTML 5 中不再支持的屬性:accesskey 標(biāo)簽屬性屬性 值 描述 4 5 acceskey a character 設(shè)置訪問(wèn)一個(gè)元素的鍵盤快捷鍵。不支持。 4 class class_ruleorstyle_rule 元素的類名。 4 5 contenteditable true
false 設(shè)置是否允許用戶編輯元素。 5 contentextmenu id of a menu element 給元素設(shè)置一個(gè)上下文菜單。 5 dir ltr
rtl 設(shè)置文本方向。 4 5 draggable true
false
auto 設(shè)置是否允許用戶拖動(dòng)元素。 5 id id_name 元素的唯一 id。 4 5 irrelevant true
false 設(shè)置元素是否相關(guān)。不顯示非相關(guān)的元素。 5 lang language_code 設(shè)置語(yǔ)言碼。 4 5 ref urlorelementID 引用另一個(gè)文檔或文檔上另一個(gè)位置。僅在 template 屬性設(shè)置時(shí)使用。 5 registrationmark registration mark 為元素設(shè)置拍照??梢?guī)定于任何 rule 元素的后代元素,
除了 nest 元素。 5 style style_definition 行內(nèi)的樣式定義。 4 5 tabindex number 設(shè)置元素的 tab 順序。 4 5 template urlorelementID 引用應(yīng)該應(yīng)用到該元素的另一個(gè)文檔或本文檔上另一個(gè)位置。 5 title tooltip_text 顯示在工具提示中的文本。 4 5 HTML5可以提供:
1.提高可用性和改進(jìn)用戶的友好體驗(yàn);
2.有幾個(gè)新的標(biāo)簽,這將有助開(kāi)發(fā)人員定義重要的內(nèi)容;
3.可以給站點(diǎn)帶來(lái)更多的多媒體元素(視頻和音頻);
4.可以很好的替代FLASH和Silverlight;
5.當(dāng)涉及到網(wǎng)站的抓取和索引的時(shí)候,對(duì)于SEO很友好;
6.將被大量應(yīng)用于移動(dòng)應(yīng)用程序和游戲。
谷歌和HTML5
2010年5月22日,谷歌創(chuàng)建了一個(gè)涂鴉來(lái)紀(jì)念Pac Man的視頻游戲。這個(gè)涂鴉是一個(gè)動(dòng)畫(huà),同時(shí)也是一個(gè)可以玩的Pac Man的游戲。這個(gè)涂鴉就是谷歌通過(guò)使用HTML5標(biāo)準(zhǔn)制作的,當(dāng)然谷歌也提供一個(gè)FLASH版本來(lái)支持不兼容HTML5的瀏覽器。我敢打賭,這是大多數(shù) 互聯(lián)網(wǎng)網(wǎng)民第一次和HTML5的接觸。對(duì)于個(gè)人來(lái)說(shuō),這是一個(gè)興奮的消息。以我的觀點(diǎn),這個(gè)涂鴉提供了一個(gè)機(jī)會(huì)可以窺視未來(lái)互聯(lián)網(wǎng)、網(wǎng)頁(yè)、移動(dòng)應(yīng)用軟件和游戲等發(fā)展趨勢(shì)。對(duì)于搜索引擎優(yōu)化,他開(kāi)辟了我更多的想象,它讓我思考HTML5在SEO領(lǐng)域的潛力。網(wǎng)站轉(zhuǎn)移到HTML5標(biāo)準(zhǔn)對(duì)于SEO有什么優(yōu)勢(shì)?
HTML 5開(kāi)發(fā)領(lǐng)域的領(lǐng)軍人物包括Sencha,Adobe,Appcelerator,appMobi及Facebook,亞馬遜,Google三大巨頭。不管你是想開(kāi)發(fā)出新型視頻應(yīng)用的開(kāi)發(fā)商如Brightcover還是想開(kāi)發(fā)新型音頻應(yīng)用的開(kāi)發(fā)商如Soundcloud,不論是桌面應(yīng)用還是移動(dòng)應(yīng)用,HTML 5都是創(chuàng)新的主旋律。
HTML5與SEO
一:使搜索引擎更加容易抓取和索引
對(duì)于一些網(wǎng)站,特別是那些嚴(yán)重依賴于FLASH的網(wǎng)站HTML5是一個(gè)大福音。如果你有一個(gè)都是FLASH的站點(diǎn),你就一定會(huì)看到切換到HTML5的 好處。首先,搜索引擎的蜘蛛將能夠抓取你的站點(diǎn)和索引你的內(nèi)容。所有嵌入到動(dòng)畫(huà)中的內(nèi)容將全部可以被搜索引擎讀取。在搜索引擎優(yōu)化的基本理論中,這一方面將會(huì)驅(qū)動(dòng)你的網(wǎng)站獲得更多的右擊流量。
二:提供更多的功能,提高用戶的友好體驗(yàn)
使用HTML5的另一個(gè)好處就是它可以增加更多的功能。對(duì)于HTML5的功能性問(wèn)題,我們從全球幾個(gè)主流站點(diǎn)對(duì)它的青睞就可以看出。社交網(wǎng)絡(luò)大亨Facebook已經(jīng)推出他們期待已久的基于HTML5的iPad應(yīng)用平臺(tái),潘多拉也推出他們基于HTML5的音樂(lè)播放器的新版本。游戲平臺(tái) Zynga也在推出了三款新的在移動(dòng)設(shè)備瀏覽器上運(yùn)行的基于HTML5的游戲等等。每天都有不斷的基于HTML5的網(wǎng)站和HTML5特性的網(wǎng)站被推 出。保持站點(diǎn)處于新技術(shù)的前沿,也可以很好的提高用戶的友好體驗(yàn)。
三:可用性的提高,提高用戶的友好體驗(yàn)
最后我們可以從可用性的角度上看,HTML5可以更好的促進(jìn)用戶于網(wǎng)站間的互動(dòng)情況。多媒體網(wǎng)站可以獲得更多的改進(jìn),特別是在移動(dòng)平臺(tái)上的應(yīng)用,使用 HTML5可以提供更多高質(zhì)量的視頻和音頻流。到目前為止,事實(shí)就是iPhone和iPad將不會(huì)支持FLASH,同時(shí)ADOBE公司也公開(kāi)聲明將 停止FLASH基于移動(dòng)平臺(tái)的開(kāi)發(fā),可以這么說(shuō)——移動(dòng)平臺(tái)日后視頻音頻是HTML5的天下!
分享名稱:html5editor,html5editor jsp
網(wǎng)站網(wǎng)址:http://aaarwkj.com/article6/dsigsig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、云服務(wù)器、全網(wǎng)營(yíng)銷推廣、面包屑導(dǎo)航、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)