var

浏览器获取当前ip

旧巷老猫 提交于 2020-04-06 01:56:46
function findIP(callback) { var myPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection; // compatibility for firefox and chrome // console.log(myPeerConnection ) var restartConfig = { iceServers: [] }; // var pc = new myPeerConnection({ iceServers: [] }), var pc = new myPeerConnection({ iceServers: [] }), noop = function () {}, localIPs = {}, ipRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/ g, key; function ipIterate(ip) { if (! localIPs[ip]) callback(ip); localIPs[ip] = true ; } pc.setConfiguration(restartConfig);

兼容好的JS图片上传预览代码

*爱你&永不变心* 提交于 2020-04-06 01:08:58
转 : http://www.codefans.net/articles/1395.shtml 兼容好的JS图片上传预览代码 (谷歌,IE11) <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>本地图片预览</title> <style type="text/css"> #preview{width:100px;height:100px;border:1px solid #000;overflow:hidden;} #imghead {filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image);} </style> <script type="text/javascript"> function previewImage(file) { var MAXWIDTH = 100; var MAXHEIGHT = 100; var div = document.getElementById('preview'); if (file.files && file.files[0]) { div.innerHTML = '<img id=imghead>'; var img = document.getElementById(

Underscore.js 入门

青春壹個敷衍的年華 提交于 2020-04-05 23:43:30
1 Underscore对象封装 Underscore并没有在原生的JavaScript对象原型中进行扩展,而是像jQuery一样,将数据封装在一个自定义对象中(下文中称“Underscore对象”)。 你可以通过调用一个Underscore对象的value()方法来获取原生的JavaScript数据,例如: // 定义一个JavaScript内置对象 var jsData = { name : 'data' } // 通过_()方法将对象创建为一个Underscore对象 // underscoreData对象的原型中包含了Underscore中定义的所有方法,你可以任意使用 var underscoreData = _(jsData); // 通过value方法获取原生数据, 即jsData underscoreData.value(); 2 优先调用JavaScript 1.6内置方法 Underscore中有许多方法在JavaScript1.6中已经被纳入规范,因此在Underscore对象内部,会优先调用宿主环境提供的内置方法(如果宿主环境已经实现了这些方法),以此提高函数的执行效率。 而对于不支持JavaScript 1.6的宿主环境,Underscore会通过自己的方式实现,而对开发者来说,这些完全是透明的。 这里所说的宿主环境,可能是Node.js运行环境

Javascript函数声明与递归调用

元气小坏坏 提交于 2020-04-05 23:02:55
Javascript的函数的声明方式和调用方式已经是令人厌倦的老生常谈了,但有些东西就是这样的,你来说一遍然后我再说一遍。每次看到书上或博客里写的Javascript函数有四种调用方式,我就会想起孔乙己:茴字有四种写法,你造吗? 尽管缺陷有一堆,但Javascript还是令人着迷的。Javascript众多优美的特性的核心,是作为顶级对象(first-class objects)的函数。函数就像其他普通对象一样被创建、被分配给变量、作为参数被传递、作为返回值以及持有属性和方法。函数作为顶级对象,赋予了Javascript强大的函数式编程能力,也带来了不太容易控制的灵活性。 1、函数声明 变量式声明先创建一个匿名函数,然后把它赋值给一个指定的变量: var f = function () { // function body }; 通常我们不必关心等号右边表达式的作用域是全局还是某个闭包内,因为它只能通过等号左边的变量f来引用,应该关注的是变量f的作用域。如果f指向函数的引用被破坏(f = null),且函数没有被赋值给任何其它变量或对象属性,匿名函数会因为失去所有引用而被垃圾回收机制销毁。 也可以使用函数表达式创建函数: function f() { // function body } 与变量式不同的是,这种声明方式会为函数的一个内置属性name赋值

基于Canvas的HTML游戏制作

我的未来我决定 提交于 2020-04-05 19:34:48
开发工具:vs code 关于Canvas 定义Canvas <canvas id="xxx" width="..." height="..." style="border: 2px solid #000;background: #fff;"></canvas> 游戏实例 1、拼图游戏 2、雷电飞机 3、Flappybird 一、拼图游戏 游戏介绍: 拼图游戏将一幅图片分割成若干拼块并将它们随机打乱顺序。当将所有拼块都放回原位置时,就完成了拼图(游戏结束)。 在“游戏”中,单击滑块选择游戏难易,“容易”为3行3列拼图游戏,中间为一个4行4列拼图游戏,“难”为5行5列拼图游戏。拼块以随机顺序排列,玩家用鼠标单击空白块的四周来交换它们的位置,直到所有拼块都回到原位置。 程序设计步骤: 使用一个一维数组存储每个拼块的编号。每一个元素代表一个拼块,初始时元素的数组下标与拼块的编号相同,说明位置正确。并实现拼块的随机放置。 运行结果: 1、创建canvas画布: var context=document.getElementById('puzzle').getContext('2d'); var img=new Image(); img.src='defa.jpg'; img.addEventListener('load',drawTiles,false); var boardSize

玩转 Nginx 之:使用 Lua 扩展 Nginx 功能

北慕城南 提交于 2020-04-04 21:39:28
https://my.oschina.net/leejun2005/blog/494248 https://github.com/iresty/nginx-lua-module-zh-wiki 1、Nginx 简介 Nginx 作为一款面向性能设计的HTTP服务器,相较于Apache、lighttpd具有占有内存少,稳定性高等优势。其流行度越来越高,应用也越来越广泛,常见的应用有:网页服务器、反向代理服务器以及电子邮件(IMAP/POP3)代理服务器,高并发大流量站点常用来做接入层的负载均衡,还有非常常见的用法是作为日志采集服务器等。 Nginx 整体采用模块化设计,有丰富的模块库和第三方模块库,配置灵活。其中模块化设计是nginx的一大卖点,甚至http服务器核心功能也是一个模块。要注意的是:nginx的模块是静态的,添加和删除模块都要对nginx进行重新编译,这一点与Apache的动态模块完全不同。不过后来淘宝做了二次开发开源的 tengine 是支持 官方所有的 HTTP 模块动态加载而不必重新编译 Nginx,除非是第三方模块才需要重新编译。因此,在生产环境中,推荐用淘宝开源的 tengine,本文也以 tengine 作为示例。 虽然 Nginx 有如此强大的性能以及众多的三方模块支持,但每次重新编译以及寻找三方模块对生产环境来说还是不可接受的,幸运的是,Nginx

玩转 Nginx 之:使用 Lua 扩展 Nginx 功能

可紊 提交于 2020-04-04 21:35:35
https://my.oschina.net/leejun2005/blog/494248 https://github.com/iresty/nginx-lua-module-zh-wiki 1、Nginx 简介 Nginx 作为一款面向性能设计的HTTP服务器,相较于Apache、lighttpd具有占有内存少,稳定性高等优势。其流行度越来越高,应用也越来越广泛,常见的应用有:网页服务器、反向代理服务器以及电子邮件(IMAP/POP3)代理服务器,高并发大流量站点常用来做接入层的负载均衡,还有非常常见的用法是作为日志采集服务器等。 Nginx 整体采用模块化设计,有丰富的模块库和第三方模块库,配置灵活。其中模块化设计是nginx的一大卖点,甚至http服务器核心功能也是一个模块。要注意的是:nginx的模块是静态的,添加和删除模块都要对nginx进行重新编译,这一点与Apache的动态模块完全不同。不过后来淘宝做了二次开发开源的 tengine 是支持 官方所有的 HTTP 模块动态加载而不必重新编译 Nginx,除非是第三方模块才需要重新编译。因此,在生产环境中,推荐用淘宝开源的 tengine,本文也以 tengine 作为示例。 虽然 Nginx 有如此强大的性能以及众多的三方模块支持,但每次重新编译以及寻找三方模块对生产环境来说还是不可接受的,幸运的是,Nginx

dos命令

独自空忆成欢 提交于 2020-04-04 20:39:00
l echo 是显示当前ECHO设置 状态 ; l echo. 输出 空行 ,即相当于输入一个回车,echo后面的点要紧挨一起,中间不能有空格,后面的点可以用,:;/[ \ ]+等任一符号替代。即:下面的命令都是输出空格: echo. echo, echo: echo; echo/ echo\ echo[ echo] echo+ l echo 文字 ,输出设置的 文字内容 @ 符号: 隐藏 后面的执行指令 函数: 函数以一个 标签开始 ,并以 goto:eof 结束 函数怎么工作 调用函数的脚本将其分成两部分。 1.main script: 从第一行开始并且以 GOTO:EOF 命令结束 2.函数部分:由多个函数组成,由main script调用。 编写带参数的函数 采用 %1 ~ %9 来代表参数的值。而 %0 表示批处理文件本身,当然,如果传递的参数是“xxx”形式,而要获取的参数值为xxx,则需要使用 %~1 形式的参数。 :myFunction echo it could do %~1 of things %~2 goto:eof 调用时给函数传参 ( 参数直接放在函数后面,用空格或逗号分隔 ) 1.用空格或者逗号将参数分开 2.用双引号将带有空格的字符串参数括起来 call:myDosFunc 100 YeePEE call:myDosFunc 100 "for me"

上下无缝滚动

亡梦爱人 提交于 2020-04-04 19:20:04
.dowebok { width: 790px; height: 200px; } .dowebok ul { margin: 0; line-height: 30px;} /*Plugin CSS*/ .str_wrap { overflow:hidden; //zoom:1; width:100%; font-size:12px; line-height:16px; position:relative; -moz-user-select: none; -khtml-user-select: none; white-space:nowrap; } .str_move { white-space:nowrap; position:absolute; top:0; left:0; cursor:move; } <div class="dowebok"> <ul> <li> <a href="http://www.dowebok.com/187.html">Smoothslides – 可平移的jQuery幻灯片插件</a> </li> <li> <a href="http://www.dowebok.com/77.html">jQuery全屏滚动插件fullPage.js</a> </li> <li> <a href="http://www.dowebok.com/131.html"

无缝连续滚动

只愿长相守 提交于 2020-04-04 18:45:05
1.简单的无缝连续滚动 原来:页面上是 6 个图片,编号 0 、 1 、 2 、 3 、 4 、 5 ,复制一倍在后面,长长的火车在来回移动。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>Document</title> <style type="text/css"> *{ margin:0; padding:0; } ul{ list-style:none; } .rolling{ width:800px; height:130px; border:10px solid #000; margin:50px auto; position:relative; overflow:hidden; } .rolling .m_unit{ width:5000px; position:absolute; top:0;