原生js获取用户IP&根据浏览器生成唯一uuid

1、通过RTCPeerConnection获取用户ip关于RTCPeerConnection兼容情况 12345678910111213141516171819202122232425262728293031323334353637383940414243function getUserIP(onNewIP) ...

forEach和map会修改原素组?

forEach() 方法不会返回执行结果, 而是 undefined. 也就是说, forEach() 会修改原来的数组. 而 map() 方法会得到一个新的数组并返回. 我的理解就是使用 forEach 遍历一个数组, 修改 item 的值, 就会改变原数组, 但最近发现并不一定会改变, 所以就做了一些测试 f...

chrome 66版本自动播放策略

背景Web浏览器正在朝着更严格的自动播放策略发展,以便改善用户体验,最大限度地降低安装广告拦截器的积极性并减少昂贵和/或受限网络上的数据消耗。这些更改旨在为用户提供更大的播放控制权,并使开发商获得合法用例。 新的特性Chrome的自动播放政策很简单: 静音自动播放总是允许的。 在下列情况下允许使用声音自动播放:...

记录一些viewprot知识点

移动前端开发之viewport的深入理解在移动设备上进行网页的重构或开发,首先得搞明白的就是移动设备上的viewport了,只有明白了viewport的概念以及弄清楚了跟viewport有关的meta标签的使用,才能更好地让我们的网页适配或响应各种不同分辨率的移动设备。 一、viewport的概念通俗的讲,移动设...

图片懒加载

原理将页面中的img标签src指向一张小图片或者src为空,然后定义data-src(这个属性可以自定义命名,我才用data-src)属性指向真实的图片。src指向一张默认的图片,否则当src为空时也会向服务器发送一次请求。可以指向loading的地址。 1<img src="default.jp...

原生js实现拖动改变div大小

业务需要左右拖动来实现不换行查看数组件全部内容,这里记载一下实现过程。 html部分:12345678<div id="box"> <div id="top"> </div> <div id="bottom"> </div> <div i...

解决Element-ui-Tree组件无法出现横向滚动条

elementUI用到tree组件碰到tree节点过多需要横向滚动显示。但是组件文档上没有。 上github发现这个问题有人已经遇到而且提了issue 通过下面方法搞定 具体操作:1、在tree外包一层div,并设置父元素的高,这样才不会出现横向滚动条在树的最低端,需要滚动竖向滚动条才能看到。1234<d...

github生成SSH KEY

由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以必须要让github仓库认证你SSH key,在此之前,必须要生成SSH key。 1、打开cmd,在控制台中输入以下命令。 1$ ssh-keygen -t rsa -C "邮箱地址" 密钥类型可以用 -t 选项指定。如果没有指定则默认生成用...

关于call、apply和bind的一些记录

call、apply和bind是Function对象自带的三个方法,都是为了改变函数体内部 this 的指向。 apply 、 call 、bind 三者第一个参数都是 this 要指向的对象,也就是想指定的上下文; apply 、 call 、bind 三者都可以利用后续参数传参; bind 是返回对应 函数,...

Electron打包(windows版)

安装位置,自动更新,手动更新 一:引包:electron,electron-builder,electron-updater**npm i electron –save-dev npm i electron-builder –save-dev npm i electron-updater –save 注:每个包都...