极客无极限 一行HTML5代码引发的创意大爆炸

一行HTML5代码能做什么?国外开发者Jose Jesus Perez Aguinaga写了一行HTML5代码的文本编辑器。这件事在分享到Code Wall、Hacker News之后,引起了众多开发者的注意,纷纷发表了自己的创意。 这是最初的HTML5代码,它可以运行在最新的Chrome和Firefox中,只需在浏览器地址栏输入如下代码:

 
 
  1. data:text/html, <  html   contenteditable> 

但是功能十分有限,甚至没有保存功能,样式也非常简陋。 于是,网友Montas修改了他的代码,使用textarea标签代替html标签,可以添加自己喜欢的样式:

 
 
  1. data:text/html, <  textarea   style  =  "font-size: 1.5em; width: 100%; height: 100%; border: n 

网友jecxjo希望能有存储功能:

 
 
  1. data:text/html,<  button   onClick  =  "SaveTextArea()"  >Save</  button  > <  script   languag 

但上面的代码是以文件形式存储,samsonjs觉得不够方便,而且需要点击按钮,于是添加了自动保存功能:

 
 
  1. data:text/html,<  html   lang  =  "en"  ><  head  ><  style  > html,body { height: 100% } #n 

现在可是云时代!仅仅这样怎能让开发者止步?minikomi使用了第三方API打造了一个在线编辑器:

 
 
  1. data:text/html, 
  2. <style type="text/css"> 
  3. #e { 
  4. position:absolute; 
  5. top:0; 
  6. right:0; 
  7. bottom:0; 
  8. left:0; 
  9. font-size:16px; 
  10. </style> 
  11. <div id="e"></div> 
  12. <script src="http://d1n0x3qji82z53.cloudfront.net/src-min-noconflict/ace.js"></script> 
  13. <script src="http://code.jquery.com/jquery-1.9.0.min.js"></script> 
  14. <script> 
  15. var myKey="SecretKeyz"
  16. $(document).ready(function(){ 
  17. var e; 
  18. var url = "http://api.openkeyval.org/"+myKey; 
  19. $.ajax({ 
  20. url: url, 
  21. dataType: "jsonp", 
  22. success: function(data){ 
  23. e = ace.edit("e"); 
  24. e.setTheme("ace/theme/tomorrow_night_eighties"); 
  25. e.getSession().setMode("ace/mode/markdown"); 
  26. e.setValue(data); 
  27. }); 
  28.  
  29. $("#e").on("keydown", function (b) { 
  30. if (b.ctrlKey && 83 == b.which) { 
  31. b.preventDefault(); 
  32. var data = myKey+"="+encodeURIComponent(e.getValue()); 
  33. $.ajax({ 
  34. data: data, 
  35. url: "http://api.openkeyval.org/store/", 
  36. dataType: "jsonp", 
  37. success: function(data){ 
  38. alert("Saved."); 
  39. }); 
  40. }); 
  41. }); 
  42. </script> 

没有代码高亮功能的编辑器终究不适合程序员,Rails开发者jakeonrails又定制了Ruby代码高亮功能:

 
 
  1. data:text/html, <style type=  "text/css"  >  #e{position:absolute;top:0;right:0;bottom:0;left 

效果如下图:

实际上,如果minikomi的代码已经支持多种语言高亮,如Python,只需要把“markdown”换成“python”,效果如下:

你以为到此为止了?中国开发者assassindesign觉得只是文本编辑器就太无聊了,又提供了涂鸦版本:

 
 
  1. data:text/html, <  body  ><  canvas   id  =  "dyDraw"  >你的浏览器不支持HTML5 Canvas</  canva 

还等什么呢?赶快试试看吧! 极客的创意的无穷的,你们是否有更好的创意,欢迎跟帖!

原文链接:http://www.csscoo.com/?p=1025


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,FPGA米极客可能并没有公开发布针对 FDMA 的完整源代码。不过,以下是一个简单的伪代码示例,展示了如何使用 FDMA 对两个用户进行分频。您可以根据您的具体需求和实现细节来编写实际的源代码。 ``` // 定义频带宽度 bandwidth = 1000; // 用户1的频率范围 user1_start_frequency = 0; user1_end_frequency = 400; // 用户2的频率范围 user2_start_frequency = 400; user2_end_frequency = 1000; // 创建用户1的频率分配 user1_frequencies = [i for i in range(user1_start_frequency, user1_end_frequency)]; // 创建用户2的频率分配 user2_frequencies = [i for i in range(user2_start_frequency, user2_end_frequency)]; // 将两个频率分配合并 frequency_allocation = user1_frequencies + user2_frequencies; // 将频率分配映射到时间域 time_allocation = []; for frequency in frequency_allocation: time_allocation.append(frequency / bandwidth); // 在时间域分配用户数据 user1_data = [1, 0, 1, 1, 0, 0, 1, 1]; user2_data = [0, 1, 1, 0, 1, 1, 0, 0]; // 将用户数据映射到频率分配 user1_frequency_data = []; user2_frequency_data = []; for i in range(len(user1_data)): user1_frequency_data.append(user1_frequencies[i % len(user1_frequencies)] * user1_data[i]); user2_frequency_data.append(user2_frequencies[i % len(user2_frequencies)] * user2_data[i]); // 将每个用户的频率数据加起来 total_frequency_data = [user1_frequency_data[i] + user2_frequency_data[i] for i in range(len(user1_frequency_data))]; // 将频率数据映射回时间域 total_time_data = []; for frequency_data in total_frequency_data: total_time_data.append(frequency_data / bandwidth); // 传输总时间数据 transmit(total_time_data); ``` 请注意,这只是一个伪代码示例,您需要根据您的具体需求和实现细节来编写实际的源代码

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值