只需一行代碼,輕松實(shí)現(xiàn)一個(gè)在線編輯器
在大部分人眼里,技術(shù)宅給人的印象是沉默寡言,總摸不透他心里想些什么,彼此都保持距離。作為半個(gè)程序員,我覺得真正的技術(shù)宅大部分時(shí)間都在找樂子,鼓搗各種想法,和大部分人的極客心理是一樣的,程序員也還愛講笑話,也喜歡燒菜做飯,雖然大多是為了減減壓,這樣看來和常人沒什么不一樣。
不一樣的地方,技術(shù)宅崇尚極致,喜歡極簡(jiǎn),又希望簡(jiǎn)約不簡(jiǎn)單,背后就是技術(shù)宅滿心思的不斷的嘗試,我正在看著一出好戲在上演:

"程序員 Jose Jesus Perez Aguinaga 在 CoderWall 分享了一個(gè)小技巧:在瀏覽器地址欄中輸入一行代碼:data:text/html, <html contenteditable> ,回車即可把瀏覽器變臨時(shí)編輯器(需要瀏覽器支持 HTML5 屬性 contenteditable)。不少程序員受 Jose 的啟發(fā),開始對(duì)這行代碼加工改造,比如改成支持 Ruby 語(yǔ)法高亮的編輯器……"
從引子中可以看到,本來只是簡(jiǎn)短的小段代碼: data:text/html, <html contenteditable>,經(jīng)過程序員們不斷改造,從一個(gè)簡(jiǎn)單的可編輯頁(yè)面,逐步變成了包括支持 Java、Ruby、Python 等多種 編程語(yǔ)言高亮的代碼編輯器,截至不到 1 個(gè)小時(shí)的最后更新,我已經(jīng)看到了一個(gè)和 notepad.cc 網(wǎng)站功能相近,使用了第三方網(wǎng)站數(shù)據(jù)庫(kù) API 服務(wù)存儲(chǔ)內(nèi)容的 在線編輯器 了:
data:text/html,
<style type="text/css">
#e {
position:absolute;
top:0;
right:0;
bottom:0;
left:0;
font-size:16px;
}
</style>
<div id="e"></div>
<script src="http://d1n0x3qji82z53.cloudfront.net/src-min-noconflict/ace.js"></script>
<script src="http://code.jquery.com/jquery-1.9.0.min.js"></script>
<script>
var myKey="SecretKeyz";
$(document).ready(function(){
var e = ace.edit("e");
var url = "http://api.openkeyval.org/"+myKey;
$.ajax({
url: url,
dataType: "jsonp",
success: function(data){
e.setTheme("ace/theme/tomorrow_night_eighties");
e.getSession().setMode("ace/mode/markdown");
e.setValue(data);
}
});
$("#e").on("keydown", function (b) {
if (b.ctrlKey && 83 == b.which) {
b.preventDefault();
var data = myKey+"="+encodeURIComponent(e.getValue());
$.ajax({
data: data,
url: "http://api.openkeyval.org/store/",
dataType: "jsonp",
success: function(data){
alert("Saved.");
}
});
}
});
});
</script>
將以上代碼完整復(fù)制,粘貼到 Chrome 或者 Firefox,Safari 瀏覽器地址欄中(不支持低版本 IE 瀏覽器),回車打開,稍等片刻一個(gè)支持 CTRL + S 保存內(nèi)容的在線編輯器呈現(xiàn)眼前。
僅一行代碼,實(shí)現(xiàn)功能相當(dāng)于系統(tǒng)的記事本程序,感慨技術(shù)宅的藝術(shù)造詣吧?~
相關(guān)文章
用JavaScript實(shí)現(xiàn) 鐵甲無敵獎(jiǎng)門人 “開口中”猜數(shù)游戲
JavaScript在常人看來都是門出不了廳堂的小語(yǔ)言,僅管它沒有明星語(yǔ)言的閃耀,但至少網(wǎng)頁(yè)的閃耀還是需要它的,同時(shí)它是一門很實(shí)用的語(yǔ)言。2009-10-10javascript編程異常處理實(shí)例小結(jié)
這篇文章主要介紹了javascript編程異常處理的方法,結(jié)合實(shí)例形式分析總結(jié)了JavaScript編程中異常處理的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11JavaScript中object和Object的區(qū)別(詳解)
下面小編就為大家?guī)硪黄狫avaScript中object和Object的區(qū)別(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02原生JS利用transform實(shí)現(xiàn)banner的無限滾動(dòng)示例代碼
這篇文章主要介紹了原生JS利用transform實(shí)現(xiàn)banner的無限滾動(dòng)示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06nuxt配置通過指定IP和端口訪問的實(shí)現(xiàn)
這篇文章主要介紹了nuxt配置通過指定IP和端口訪問的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01JavaScript簡(jiǎn)單實(shí)現(xiàn)關(guān)鍵字文本搜索高亮顯示功能示例
這篇文章主要介紹了JavaScript簡(jiǎn)單實(shí)現(xiàn)關(guān)鍵字文本搜索高亮顯示功能,涉及javascript基于事件響應(yīng)的頁(yè)面元素遍歷、分割、替換等相關(guān)操作技巧,需要的朋友可以參考下2018-07-07