努力工作,认真生活。


JavaScript


  1. Canvas指纹隐藏实战

    前言 前两天和隔壁做风控的同学聊天,据说他们经常使用浏览器指纹来识别和标记爬虫(当然具体的细节是不能透露的),联想到我们最近也经常遇到被风控的情况,于是就花了点时间研究下浏览器指纹相关的知识。 需要明确的是,“隐藏浏览器指纹”和“隐藏Webdriver/Selenium/Puppeteer”、“匿名浏览”都不是同一个问题。“隐藏Webdriver/Selenium/Puppeteer”的目的是告诉服务端自己不是自动化爬虫(这个似乎可以尝试用 stealth.min.js 来做);“匿名浏览”…

    Spider, JavaScript, Canvas, Fingerprint阅读全文

  2. 主流浏览器图片反防盗链方法总结

    前言 还记得之前写的那个无聊的插件,前一段时间由于豆瓣读书增加了防盗链策略使得我们无法直接引用他们的图片,使得我这个小插件无法工作。本以为是一个很简单的问题,但是没想到这个小问题硬是让我改了五六遍才改好,可以说是非常的蠢了。总结一下自己犯傻的原因,还是由于自己懒得去深入研究,谷歌百度了问题就直接把方案拿来用了,浅尝辄止人云亦云,解决了表面的问题而没有深入的总结。当然,从另外一个方面讲,我也是初步领会到了前端程序员面对要兼容各种浏览器的需求时头有多大了。 问题 问题很简单,就是我希望在自己…

    JavaScript, HTML阅读全文

  3. 关于Firefox中链接点击弹出空白标签页的问题分析

    前言 昨天突然有好心人提醒我说我的网站某些链接在firefox中打开时会弹出 about:blank 的空白页面。本来自己在测试的时候没怎么考虑浏览器的兼容问题,毕竟自己总共也没写几个标签。不过研究了一下发现前端这一行做起来还真挺麻烦的。 问题 原先的代码是这样的,有一个a标签,类似这样: haha 我希望这是一个标签页,为了好看就继承了a标签的样式,而且自己定义了点击事件,不过为了避免链接跳转就在href里用"javascript:void(0);"来阻止页面跳转。 这行简单的代…

    HTML, JavaScript阅读全文

  4. hexo-douban插件的开发过程

    背景 前几天在逛博客的时候发现两个用hexo的很厉害的博客:yikun,raysmond,发现他们不仅内容牛x,而且他们都有一个读书页面,能够同步自己在豆瓣的账户,将自己的阅读经历放在博客中。我觉得这个idea非常有意思,原来博客不仅可以分享技术、分享感悟,还可以当作读书笔记,更加方便的记录自己的学习历程。 于是我就想了,反正最近临近期末考试,闲着也是闲着,不如捣鼓捣鼓这个玩意,顺便学学Nodejs。本来打算花几个小时搞一搞的,结果摊子铺的有点大,搞了两三天搞出了个能同步豆瓣读书跟电影的hex…

    JavaScript, Hexo阅读全文

  5. 关于WordPress中字体加载慢的问题解决方案

    最近发现Wordpress有时候加载的特别慢,于是就想办法找了下原因。之前听网上说是因为wordpress用的是Google的字体库,而且是每次都要加载,导致访问慢的,于是当时装了个Disable Google Fonts的插件,禁用了Google字体,然后装了一个Useso take over Google插件,将字体文件改为360托管的字体库,这样就可以访问快点了。当时的效果的确挺好的,结果最近在使用的时候又发现网站访问慢了,用Chrome查了下资源加载的情况,发现访问useso的字体库的时…

    HTML, JavaScript阅读全文

  6. JSON文件格式概述

    我们知道现如今,json格式很多网页在前端和后端交互的过程中都会用到的一种文件格式,尤其是在使用ajax进行交互的场合。他的语法简单,而且条理十分清晰,适合处理大量的有着逻辑关系的数据。 定义 什么是 JSON ? 1. JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) 2. JSON 是轻量级的文本数据交换格式 3. JSON 独立于语言 4. JSON 具有自我描述性,更易理解 5. JSON 使用 JavaScri…

    JavaScript阅读全文