`

一行代码,浏览器变临时编辑器

 
阅读更多

本文参考自:http://blog.jobbole.com/32823/

 

无意间浏览发现的,发现现在闲的蛋疼的人真的不少,挺有意思的,记录下来。

浏览器地址栏中输入下面这行代码,回车即可把浏览器变临时编辑器。

1
data:text/html, <html contenteditable>

为什么它能奏效?

这是用了数据URI的格式(Data URI’s format),并告诉浏览器渲染 HTML。不过 contenteditable 是 HTML5 的一个新全局属性,所以这个小技巧只能用于支持该属性的现代浏览器。(IE 8 – 就不行了 :( )

test in IE 8

 

并非只能纯文字,也可粘贴图片(如下图)。赶紧复制粘贴那行代码,然后回车,来试试呗。

 

有趣的内容还在下面

不少程序员受 Jose 的启发,开始对这行代码加工改造了。

● jakeonrails 童鞋改成了一个支持 Ruby 代码高亮的编辑器  https://gist.github.com/4666256

test in Chrome 24

代码:

1
data:text/html, <style type="text/css">#e{position:absolute;top:0;right:0;bottom:0;left:0;}</style><div id="e"></div><script src="http://d1n0x3qji82z53.cloudfront.net/src-min-noconflict/ace.js" type="text/javascript" charset="utf-8"></script><script>var e=ace.edit("e");e.setTheme("ace/theme/monokai");e.getSession().setMode("ace/mode/ruby");</script>

● slawdan 提示说:如果把上面的 ace/mode/ruby 改成 ace/mode/python,那么就得到了一个 Python 版的编辑器咯。其他语言依此类推。

● jdkanani 后来的补充:(2013-1-30 22:06:48 更新)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
改造成支持其他语言语法高亮的,可把 ace/mode/ruby 替换为:
 
Python -> ace/mode/python
C/C++ -> ace/mode/c_cpp
Javscript -> ace/mode/javascript
Java -> ace/mode/java
Scala -> ace/mode/scala
Markdown -> ace/mode/markdown
CoffeeScript -> ace/mode/coffee
其他……
 
jakeonrails 语法高亮风格用的是 monokai。
如果需要换成其他风格,,可把 ace/theme/monokai 替换为:
 
Eclipse -> ace/theme/eclipse
TextMate -> ace/theme/textmate
其他……

不想复制粘贴代码的懒汉童鞋,可以直接戳下面这些链接

Ruby 编辑器 、Python 编辑器PHP 编辑器 、Javascript 编辑器 、Java 编辑器 、C/C++ 编辑器 (也可把这些链接作为浏览器书签收藏哦。)

 

● montas 的改造:You can use textarea and make it “invisible” if you want autofocus.

1
data:text/html, <textarea style="font-size: 1.5em; width: 100%; height: 100%; border: none; outline: none" autofocus />

或直接戳 链接

 

● bgrins 的改造:编辑内容时,自动变换背景颜色;停止后变换白色。

1
data:text/html, <html><head><link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'><style type="text/css"> html { font-family: "Open Sans" } * { -webkit-transition: all linear 1s; }</style><script>window.onload=function(){var e=false;var t=0;setInterval(function(){if(!e){t=Math.round(Math.max(0,t-Math.max(t/3,1)))}var n=(255-t*2).toString(16);document.body.style.backgroundColor="#ff"+n+""+n},1e3);var n=null;document.onkeydown=function(){t=Math.min(128,t+2);e=true;clearTimeout(n);n=setTimeout(function(){e=false},1500)}}</script></head><body contenteditable style="font-size:2rem;line-height:1.4;max-width:60rem;margin:0 auto;padding:4rem;">

 

● fvsch 的改造:

1
data:text/html, <body contenteditable style="font-size:2rem;line-height:1.4;max-width:60rem;margin:0 auto;padding:4rem;">

或直接戳 链接

 

这些个奇淫技巧就到此为止吧。

分享到:
评论

相关推荐

    简单的js文本编辑器代码

    根据提供的文件信息,我们可以深入解析并提取出与“简单的js文本编辑器代码”相关的知识点。 ### 1. JavaScript函数定义及使用 #### 函数定义 在JavaScript中,可以通过`function`关键字来定义一个函数。例如,在...

    炸弹人游戏(带地图编辑器,浏览器.C#版)进万行代码,本人二十天的奋斗

    《炸弹人游戏(带地图编辑器,浏览器.C#版)》是一款由个人开发者使用C#编程语言创作的游戏项目,总计约九千行代码,展现了作者二十天的努力与匠心。这款游戏不仅是一个娱乐产品,更是学习面向对象设计思想和GDI+图形库...

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

    标题中的“只需一行代码,轻松实现一个在线编辑器”指的是利用HTML5的`contenteditable`属性,可以在浏览器中快速创建一个简易的在线编辑器。这个属性允许任何HTML元素变为可编辑区域,用户可以直接在浏览器页面上...

    struts2文本编辑器(ckeditor),简单调用不需要多余配置

    CKEditor是一款功能强大的富文本编辑器,广泛用于网站内容管理、论坛、博客等场景。在Struts2框架中集成CKEditor可以提供用户友好的编辑体验,而无需复杂的配置。 本教程主要讲解如何在Struts2项目中简单地引入并...

    xheditor-1.1.14

    如果想实现更加复杂的交互应用,或者希望xhEditor编辑器能够和自己的Javascript代码实现互相访问,那么你可以选择使用方法2,相对具有更大的自由空间。 xhEditor也提供了即时的卸载编辑器方法: $('#elm1')....

    Eclipse快捷键

    适用于需要重复某一行代码的情况,提高编码效率。 **Ctrl+Alt+↑:** 将当前行复制到上一行。与上述类似,但将复制后的行放置于上方。 **Alt+↓:** 当前行与下一行互换位置。无需剪切粘贴,直接调整代码顺序。 *...

    EmEditor Pro(文本编辑器) V15.9.0 绿色中文版

    当“北极星”在行末,但当前行无法同时容下这三个字,通常情况下会在这三个字中间换行,但如图设置了之后,这三个字就“一直”在一起了:要么都在这行,要么都到下一行。明白了吧。当然了,这个功能实际中似乎用的...

    Eclipse快捷键汇总

    4. **F5**:步入,当程序暂停时,进入当前行的下一行代码,如果下一行是方法,则进入该方法。 5. **F6**:单步执行,继续执行下一行代码,如果当前行是方法,不会进入。 6. **F7**:步出,从当前方法返回到调用它...

    JS实现即点即编辑功能代码

    4. 内容同步:`inputContent`是一个用于临时存储编辑内容的div,当用户编辑`inputText`时,`inputContent`的内容也会同步更新。 5. 行号管理:`globalLineId`和`endLineId`变量用于记录当前编辑行的编号,以及行的...

    解决jupyter notebook打不开无反应 浏览器未启动的问题

    - 使用搜索功能(Ctrl+F)找到`c.NotebookApp.password =`这一行。 - 在这行下面添加代码来指定默认浏览器。例如,如果选择谷歌浏览器,可以添加: ```python import webbrowser webbrowser.register('chrome',...

    wangEditor3.1

    **wangEditor3.1** 是一个轻量级且开源的富文本编辑器,它具有原生的图片上传功能,完全由JavaScript编写,因此在浏览器兼容性方面表现出色,无需担心不同浏览器之间的差异问题。这个编辑器的设计理念是简洁高效,为...

    EditPlus绿色

    EditPlus是一款广泛使用的文本编辑器,尤其受到程序员和Web开发者们的喜爱。作为一款绿色免安装版本,它无需复杂的安装过程,用户可以直接解压使用,方便快捷。同时,它提供了安装版和注册码,满足不同用户的需求,...

    eclipse快捷键.pdf

    - **Ctrl+Alt+↓**:将当前行复制到下一行。这对于调整代码结构非常有用,特别是在你需要重新组织代码逻辑时。 - **Ctrl+Alt+↑**:与上一条相反,将当前行复制到上一行。这同样有助于提高编码效率。 - **Alt+↓**:...

    Eclipse_常用快捷键.doc

    4. 【Ctrl+D】:删除当前行,这个快捷键使得删除代码行变得简单,无需逐个键入删除键。 5. 【Ctrl+M】:窗口最大化和还原,当你觉得编辑器窗口太小时,按下【Ctrl+M】可以快速调整窗口大小,提高编码舒适度。 **...

    Eclipse快捷键大全

    - **Ctrl+Alt+↓** 和 **Ctrl+Alt+↑**:分别用于将当前行复制到下一行或上一行,对于代码的快速调整非常有用。 - **Alt+↓** 和 **Alt+↑**:这两组快捷键则用于交换当前行与其相邻行的位置,无需进行剪切粘贴操作...

    pisarnica_splitptint_

    首先,`.editorconfig` 文件是用于设定代码编辑器配置的,它确保团队成员在不同编辑器或IDE之间共享一致的代码风格,如缩进、换行符和编码格式,从而提高代码的可读性和一致性。 `.eslintignore` 文件则是用来指定...

    Vue搭建的前端博客项目,请看资源描述

    `.editorconfig`文件则用来保持跨编辑器和跨团队的代码风格一致。它定义了一些基本的代码格式化规则,如缩进、行尾字符、编码等,使得不同开发者在不同的开发环境中都能遵循相同的代码风格。 `.gitignore`文件包含...

    Eclipse中文教程

    - **定义:** 一种临时的Java代码编辑器,可用于测试代码片段。 - **用途:** 快速测试代码片段,无需创建完整的Java文件。 **4.6 自订开发环境** - **程序代码格式:** 自定义代码格式化规则。 - **程序代码产生...

    vs2005快捷键的使用

    77. **滚动代码屏幕(Ctrl+上下箭头键)**:在不移动光标的情况下滚动编辑器窗口,便于查看代码结构。 78. **删除当前行(Ctrl+Shift+L)**:快速删除当前光标所在行的全部内容。 79. **隐藏或展开当前嵌套的折叠...

Global site tag (gtag.js) - Google Analytics