现在很多网站都上了各种前端反爬手段,无论手段如何,最重要的是要把包含反爬手段的前端javascript代码加密隐藏起来,然后在运行时实时解密动态执行。
动态执行js代码无非两种方法,即eval和Function。那么,不管网站加密代码写的多牛,我们只要将这两个方法hook住,即可获取到解密后的可执行js代码。
注意,有些网站会检测eval和Function这两个方法是否原生,因此需要一些小花招来忽悠过去
1. typeof
2. instanceof 检测当前实例是否属于这个类的
3. constructor
4. Object.prototype.toString.call(value)
下面封闭一个判断数据类型方法:
根据你的问题,我想,你是不是想要实时获取输入框里面的值,也就是说,如果输入框里面输入a外面也相应输出a,如果输入框里面输入ab,外面也响应输出ab,如果是这样需要实时的话,可以使用input事件。假如输入框的id为text,那么代码就是
var str
document.getElementById("text").oninput = function(){
str = this.value
alert(str) //这里打印的就是实时获取的值
}