首页 > 心得分享

JS监听DOM元素变动事件

为了写<优课在线自动看视频>的脚本,遇到一个问题。就是页面是无刷新的,页面是用AngularJS写的。要给一个列表添加按钮并绑定事件。但是油猴脚本执行的时候页面还未加载,总是失败,查了很久的资料,找到了这个事件。$(selector).bind('DOMNodeInserted', function (e) { console.log(e); });给要监听的元素绑定 DOMNodeInserted 即可在DOM元素变动时得到回调。当然,遇到一个很坑的问题,如果你要修改这个区域的内容,还会再次触发回调,所以,一定要自己做好判断。不然,就死循环了。PS:最后发现这个太灵...

利用Git的WebHooks实现自动部署并解决NAT3网络内网穿透问题

需求在公司内网部署了一台测试服务器, 本地部署的GitLab速度太慢, 打算直接使用OSChina的Git托管服务(https://gitee.com) 问题公司宽带是NAT3网络, 无法获取外网IP, Git的WebHooks无法通知到内网服务器. 解决实现思路利用已有的外网服务器作为外网跳板, 内网服务器通过ssh隧道打通到外网服务器并监听7980端口 然后使用Nginx反向代理WebHooks的请求到7980端口隧道至内网Web服务上. 具体实现步骤前提说明假设:内网服务器IP为: 192.168.1.15 外网服务器IP为: 114.115.116.117 内网服务器准备配...

Nginx配置PHP文件/目录访问需要密码)来保护受限制的内容。

最近一个朋友跳槽到了新公司,公司要用DedeCMS建站。然而对这个比较熟的朋友应该知道,系统是够老牌。但系统的漏洞比功能还多,如何保证服务器安全不被挂马是个大问题。由于他们公司没有专业的技术,就找到我这来寻求帮助,本着助人为乐的想法,除了这样一个方案。由于DedeCMS系统是全站生成静态的,而漏洞必然是通过PHP执行的,所以,防护的切入点为禁止他人访问PHP文件。这样,全站由于是静态的,并不会有太大影响。思路如下,使用Nginx的Auth验证系统,对所有PHP的访问加上密码验证,不了解Auth验证的可以去了解一些,这里不多说。同时,为了防止黑客暴力破解密码,以及提高伪装性,加入了一个He...

【正则表达式】解析命令行参数(附PHP例子)

不知道别人有没有这样的需求,今天下午需要做一个自己的命令系统。需要解析来自用户传递的命令行字符串。例如这样的命令行,把里面的命令和参数都提取出来。cmd -y 10 'test'考虑一般比较常见的兼容,正则表达式可以直接使用。// 带分组名 (?:(?<s>['"])?(?<v>.+?)?(?:(?<!\\)\k<s>)|(?<u>[^'"\s]+)) // 不带分组名 (?:(['"])?(.+?)?(?:(?<!\\)\1)|([^'"\s]+))一个自己写的比较极端的命令行解析情况c...

JS匿名函数如何反复调用自身实践: 动态加载指定JS列表后执行方法.

这个绝对是造轮子,但是程序员不就是为了反复造轮子而生的吗???主要是实践另一个内容,我们经常会使用JS写匿名函数,但我前段时间突然遇到一个问题。我想写一个匿名函数,但是还想反复调用这个匿名函数。但是我真心不想污染全局环境(好吧,是做某些不可告人的事,怕被检测到...)JS的方法函数内,提供了一个 arguments 对象,它主要保存了当前方法调用是传递的参数,同时,还有一个指针变量,指向了本方法本身。我们可以通过这个方法来实现匿名函数反复调用自身的需求。(function(scripts, callback) { var this_function = arguments.cal...