c) : b(a, function() { var b; b = document.createElement("canvas"); var d = b.getContext("2d"); try { b.width = a.naturalWidth, b.height = a.naturalHeight, d.drawImage(a, 0, 0) } catch(e) {} b = b.toDataURL("image/png").replace("data:image/png;base64,", ""); chrome.extension.sendMessage({ type: "getCaptcha", data: b }, c) }) }; var e = !1; a.doGetCaptcha = function(b, d, g, f, l, m, p) { void 0 === f && (f = 3); p || (e = !0); var n = $(b); c(n[0], function(c) { a.getCaptcha(c, function(c) { e ? (g(c), a.checkOtnCaptcha(c, d, function(c) { console.log("captcha" + (c.success ? "\u6210\u529f": "\u5931\u8d25") + ":", c.code); c.success || 1 >= f ? g(c.code, c.success) : setTimeout(function() { n.trigger("click"); a.doGetCaptcha(b, d, g, --f, l, m, !0) }, 200) }, l, m)) : console.log("onfocus stop retry") }) }) };
360自动识别验证码的代码
Wesley13
2021-10-11
评论区
相关推荐
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
vue element table 表头添加图标
!(https://oscimg.oschina.net/oscnet/189d567e07e0844612470867b06a35c0aaf.jpg)!(https://oscimg.oschina.net/oscnet/dc3b454d663d8618924b78796345a145b3f.jpg)1<template
springboot源码分析
!(https://gss1.bdstatic.com/vo3dSag_xI4khGkpoWK1HF6hhy/baike/w%3D268%3Bg%3D0/sign0c730b84bd19ebc4c078719fba1da8c1/37d12f2eb9389b503a80d4b38b35e5dde6116ed7.jpg)
.net程序反编译工具(ILSpy)
ILSpy是SharpDevelop小组的反编译工具,ILSPY这个开源工具的目的就是代替reflector的,它可以反编译出比reflector更好的C代码。PC官方版!(https://oscimg.oschina.net/oscnet/b35fba9fc6ada998d12775b18290c2348dc.png)C反编译工具ilsp
Spring5.0源码深度解析之理解Configuration注解
!(https://gss1.bdstatic.com/vo3dSag_xI4khGkpoWK1HF6hhy/baike/w%3D268%3Bg%3D0/sign0c730b84bd19ebc4c078719fba1da8c1/37d12f2eb9389b503a80d4b38b35e5dde6116ed7.jpg)
JS 对象数组Array 根据对象object key的值排序sort,很风骚哦
有个js对象数组varary\{id:1,name:"b"},{id:2,name:"b"}\需求是根据name或者id的值来排序,这里有个风骚的函数函数定义:function keysrt(key,desc) { return function(a,b){ return desc ? ~~(ak