只需一行代码,轻松实现一个在线编辑器

 更新时间:2013年11月12日 10:00:49   作者:  
在浏览器地址栏中输入一行代码:data:text/html, <html contenteditable> ,回车即可把浏览器变临时编辑器(需要浏览器支持 HTML5 属性 contenteditable)

在大部分人眼里,技术宅给人的印象是沉默寡言,总摸不透他心里想些什么,彼此都保持距离。作为半个程序员,我觉得真正的技术宅大部分时间都在找乐子,鼓捣各种想法,和大部分人的极客心理是一样的,程序员也还爱讲笑话,也喜欢烧菜做饭,虽然大多是为了减减压,这样看来和常人没什么不一样。

不一样的地方,技术宅崇尚极致,喜欢极简,又希望简约不简单,背后就是技术宅满心思的不断的尝试,我正在看着一出好戏在上演:



"程序员 Jose Jesus Perez Aguinaga 在 CoderWall 分享了一个小技巧:在浏览器地址栏中输入一行代码:data:text/html, <html contenteditable> ,回车即可把浏览器变临时编辑器(需要浏览器支持 HTML5 属性 contenteditable)。不少程序员受 Jose 的启发,开始对这行代码加工改造,比如改成支持 Ruby 语法高亮的编辑器……"

从引子中可以看到,本来只是简短的小段代码: data:text/html, <html contenteditable>,经过程序员们不断改造,从一个简单的可编辑页面,逐步变成了包括支持 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 保存内容的在线编辑器呈现眼前。

仅一行代码,实现功能相当于系统的记事本程序,感慨技术宅的艺术造诣吧?~

相关文章

  • 用JavaScript实现 铁甲无敌奖门人 “开口中”猜数游戏

    用JavaScript实现 铁甲无敌奖门人 “开口中”猜数游戏

    JavaScript在常人看来都是门出不了厅堂的小语言,仅管它没有明星语言的闪耀,但至少网页的闪耀还是需要它的,同时它是一门很实用的语言。
    2009-10-10
  • javascript编程异常处理实例小结

    javascript编程异常处理实例小结

    这篇文章主要介绍了javascript编程异常处理的方法,结合实例形式分析总结了JavaScript编程中异常处理的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • 教你用typescript类型来推算斐波那契

    教你用typescript类型来推算斐波那契

    斐波那契是自然界与社会中存在的一种数学规律,下面这篇文章主要给大家介绍了关于如何用typescript类型来推算斐波那契的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-01-01
  • JavaScript中object和Object的区别(详解)

    JavaScript中object和Object的区别(详解)

    下面小编就为大家带来一篇JavaScript中object和Object的区别(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • 原生JS利用transform实现banner的无限滚动示例代码

    原生JS利用transform实现banner的无限滚动示例代码

    这篇文章主要介绍了原生JS利用transform实现banner的无限滚动示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • nuxt配置通过指定IP和端口访问的实现

    nuxt配置通过指定IP和端口访问的实现

    这篇文章主要介绍了nuxt配置通过指定IP和端口访问的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • JS精确判断数据类型代码实例

    JS精确判断数据类型代码实例

    这篇文章主要介绍了JS精确判断数据类型代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • 不错的Javascript表格翻页效果

    不错的Javascript表格翻页效果

    不错的Javascript表格翻页效果...
    2007-08-08
  • 纯js仿淘宝京东商品放大镜功能

    纯js仿淘宝京东商品放大镜功能

    本文主要介绍了纯js仿淘宝京东商品放大镜功能的实例。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-03-03
  • JavaScript简单实现关键字文本搜索高亮显示功能示例

    JavaScript简单实现关键字文本搜索高亮显示功能示例

    这篇文章主要介绍了JavaScript简单实现关键字文本搜索高亮显示功能,涉及javascript基于事件响应的页面元素遍历、分割、替换等相关操作技巧,需要的朋友可以参考下
    2018-07-07

最新评论