用JavaScript将input/textarea中的文本复制粘贴到剪切板 浏览器对剪切板有一定的安全限制,与 window.open 方法类似,只有在用户交互过程中才允许操作,比如说鼠标点击,键盘输入等。
要想将文本复制到剪切板首先要将该文本框全选,如:
document.querySelector('#input').select();
JavaScript用new Image实现内网服务器端口扫描 有这样一个场景,要扫描内网的某个服务,只能通过前端来实现。已知服务器的端口号,不知道内网的IP网段。
首先ajax是不能用的,因为网页与目标服务器地址不一致,跨域了。
其次jsonp也不好用,因为现在浏览已经开始限制手动用脚本发jsonp获取获服务器信息了。
最后只能用 Image 来解决了。
如何通过网页、客户端、手机APP、路由器查找OnceAir NAS网盘的内网访问地址 OnceAir是一款可在局域内使用的超小型NAS网盘。功耗在0.6~5W之间,相比x86服务器每年可节省数百元电费。连上路由器,即可搭建私有云笔记和网盘系统,下面这篇文章将介绍如何查找 OnceAir 的访问地址。
用jQuery创建一个可编辑的SELECT下拉控件(HTML/CSS) 普通的SELECT控件只能选择,不能编辑,这里可以用JS代码来实现这个功能。基本原理是在select控件上面添加一个input盖住,当select改变时自动更新input的值。
<div class="select-editor">
<select>
<option value="OPTION 1">OPTION 1</option>
<option value="OPTION 2">OPTION 2</option>
<option value="OPTION 3">OPTION 3</option>
<option value="OPTION 4">OPTION 4</option>
</select>
<input type="text" name="host" value="" />
</div>
JavaScript数组从头开始的位置插入新元素或删除第一个元素 很多与数组有关的任务听起来很简单,但实际情况并不总是如此,而开发人员在很多时候也用不到他。最近我碰到了这样一个需求:
关于数的操作用得最多还是push/pop等。但有时我们也需要将一个元素插入到现有数组的特定索引处。使用 splice 即可
var arr = [1,2,3]
arr.splice(0,0,'number')
console.log(arr)
Node.JS中UDP打洞穿透内网路由,架设内网服务器技术详解及源码 实现基于TCP协议的p2p“打洞”过程中,最主要的问题不是来自于TCP协议,而是来自于来自于应用 程序的API接口。这是由于标准的伯克利(Berkeley)套接字的API是围绕着构建客户端/服务器程序 而设计的,API允许TCP流套接字通过调用connect()函数来建立向外的连接,或者通过listen()和 accept函数接受来自外部的连接,但是,API不提供类似UDP那样的,同一个端口既可以向外连接, 又能够接受来自外部的连接。而且更糟的是,TCP的套接字通常仅允许建立1对1的响应,即应用程 序在将一个套接字绑定到本地的一个端口以后,任何试图将第二个套接字绑定到该端口的操作都会 失败。
40行JavaScript代码实现的3D旋转魔方动画效果 这是2016年JS1k上传的作品,用几十行代码实现的一个3D旋转魔方:
正则中test、exec、match的简单区别,以及括号的用法 1、当正则表达式无子表达式,并且定义为非全局匹配时,exec和match执行的结果是一样,均返回第一个匹配的字符串内容;
2、当正则表达式无子表达式,并且定义为全局匹配时,exec和match执行,做存在多处匹配内容,则match返回的是多个元素数组;
3、当正则表达式有子表示时,并且定义为非全局匹配,exec和match执行的结果是一样如上边的第5种情况;
4、当正则表达式有子表示时,并且定义为全局匹配,exec和match执行的结果不一样,此时match将忽略子表达式,只查找全匹配正则表达式并返回所有内容,如上第6种情况;
也就说,exec与全局是否定义无关系,而match则于全局相关联,当定义为非全局,两者执行结果相同
Linux下用node.js提取Word(doc/docx)/PDF文本内容 想要做全文搜索引擎,则需要将word/pdf等文档内容提取出来。对于pdf有xpdf等一些开源方案。但Word文档的情况则会复杂一些。
我们这里使用了 antiword 开源软件,来提取word2003以前版本的内容,安装同样非常简单:
apt-get install antiword