僅一行代碼,打造一個在線編輯器
在 大部分人眼里,技術宅給人的印象是沉默寡言,總摸不透他心里想些什么,彼此都保持距離。作為半個程序員,我覺得真正的技術宅大部分時間都在找樂子,鼓搗各 種想法,和大部分人的極客心理是一樣的,程序員也還愛講笑話,也喜歡燒菜做飯,雖然大多是為了減減壓,這樣看來和常人沒什么不一樣。
不一樣的地方,技術宅崇尚極致,喜歡極簡,又希望簡約不簡單,背后就是技術宅滿心思的不斷的嘗試,我正在看著一出好戲在上演:
" 程序員 Jose Jesus Perez Aguinaga 在 CoderWall 分 享了一個小技巧:在瀏覽器地址欄中輸入一行代碼:data:text/html, ,回車即可把瀏覽器變臨時編輯器(需要瀏覽器支持 HTML5 屬性 contenteditable)。不少程序員受 Jose 的啟發,開始對這行代碼加工改造,比如改成支持 Ruby 語法高亮的編輯器……"
從 引子中可以看到,本來只是簡短的小段代碼: data:text/html, ,經過程序員們不斷改造,從一個簡單的可編輯頁面,逐步變成了包括支持 Java、Ruby、Python 等多種 編程語言高亮的代碼編輯器,截至不到 1 個小時的最后更新,我已經看到了一個和notepad.cc 網站功能相近,使用了第三方網站數據庫 API 服務存儲內容的 在線編輯器 了:
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>
將以上代碼完整復制,粘貼到 Chrome 或者 Firefox,Safari 瀏覽器地址欄中(不支持低版本 IE 瀏覽器),回車打開,稍等片刻一個支持 CTRL + S 保存內容的在線編輯器呈現眼前。
僅一行代碼,實現功能相當于系統的記事本程序,感慨技術宅的藝術造詣吧?~載自: http://www.36kr.com/p/201096.html
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!