首页 > 其他分享 >jsdom, proxy对象(补环境神器)以及抠代码总结的问题

jsdom, proxy对象(补环境神器)以及抠代码总结的问题

时间:2023-05-25 10:38:03浏览次数:49  
标签:console target 神器 window proxy jsdom property log


jsdom

const jsdom = require('jsdom')
const {JSDOM} = jsdom
const fs = require('fs')
options = {
            url : 'http://match.yuanrenxue.com/match/2',
            referrer: 'http://match.yuansrenxue.com/match/2',
            contentType: 'text/html',
            userAgent : 'Messdfass/7800',
            includeNodeLocations: true,
            runScripts:'dangerously',
            beforeParse(location) {
                location.reload = function(){}
            },
            cookieJar:new jsdom.CookieJar(), //网站有setCookie的话,提前植入cookie
        }
        cookie = {}, url=''
options.cookieJar.setCookie(cookie, url, function () {

})
fs.readFile('./jjs.html',  'utf8', function (err, data){
    const dom = new JSDOM(data, options);
    console.log(dom.window.document.cookie)
    dom.window.close()
});

proxy

//代理普通对象
var person = {
    name: 14,
    age: 444,
    hobbies: [
        '泡妞',
        '看妹子'
    ]
}
var proxy = new Proxy(window, {
    get(target, property){
        // console.log('调用了target:', target)
        console.log('调用了property: window的', property)
        // Reflect.get(target, property)
        return target[property]
    },
    set(target, property, value){
        console.log('设置对象window', value)
        target[property] = value
    }
})
proxy.age



//代理window
window = global
window.a = '4444';
window.b = {
    name: 'xiaosheng',
    height: '200cm',
    hobbies: [
        '钓鱼',
        '养鱼'
    ]
}

var proxy = new Proxy(window, {
    get(target, property){
        // console.log('调用了target:', target)
        console.log('调用了property: window的', property)
        // Reflect.get(target, property)
        return target[property]
    },
    set(target, property, value){
        console.log('设置对象window', value)
        target[property] = value
    }
})
proxy.a = 45
// console.log(b.length)
proxy.b.length

// ->设置对象window 45
// ->调用了property: window的 b

抠代码总结 的问题

抠代码的时候,如果代码里有this,导出的话就不能直接导出了,要导出对象

jsdom, proxy对象(补环境神器)以及抠代码总结的问题_html


jsdom, proxy对象(补环境神器)以及抠代码总结的问题_html_02


标签:console,target,神器,window,proxy,jsdom,property,log
From: https://blog.51cto.com/u_16128190/6345283

相关文章

  • MapperProxyFactory(映射器代理工厂)的实现原理
    再次回顾Mybatis的基本用法1、定义Mapper接口2、在xml(或注解)中写sqlmybatis帮我们屏蔽了所有和数据库相关的操作,我们只需要给他提供参数、sql、标注返回值的类型即可。通过mapper接口我们可以传递参数、获取返回值;通过xml或者注解我们可以提供需要执行的sql。那么问题来了,究竟......
  • 下载神器——you-get
    下载神器——you-get01.you-get下载you-get是一个基于Python开发的开源项目。支持通过几条简单的命令就可以从Web网站上下载媒体内容(视频、音频、图片),在一些场景下非常实用。1.1Window安装安装完python之后,通过python的包管理工具pip即可下载。pip3installyou-get安......
  • 令人大呼神器的命令行集锦
    令人大呼神器的命令行集锦学好linux命令很重要,可能就是那么简单一个命令,但是可以完成许多不可思议的操作,这里列出了一些平时让我觉得耳目一些的命令,这里只是一个引子,起到抛砖引玉的作用,学好他们,你讲会大有收获。1查询主机公网ip-curlcurl功能很强大,各种网络http操作的利器,详情请......
  • Nginx 可视化神器!复杂配置一键生成,监控管理一条龙!
    功能说明nginxWebUI是一款图形化管理nginx配置的工具,可以使用网页来快速配置nginx的各项功能,包括http协议转发、tcp协议转发、反向代理、负载均衡、静态html服务器、ssl证书自动申请、续签、配置等。配置好后可一建生成nginx.conf文件,同时可控制nginx使用此文件进行启动与重载,完成......
  • 代理模式(Proxy Pattern)
    一、模式动机通过引入一个新的对象(如小图片和远程代理对象)来实现对真实对象的操作,或者将新的对象作为真实对象的一个替身引入代理对象来间接访问一个对象二、模式定义给某一个对象提供一个代理,并由代理对象控制对原对象的引用对象结构型模式代理对象可以在客户端和目标对......
  • nginx proxy_set部分常见配置
    目录nginxproxy_set部分常见配置nginxproxy_set部分常见配置proxy_set_headerHost$host;#用途:设置要发送到代理服务器的HTTP请求头的Host字段。$host变量将被替换为客户端请求中的实际主机名。proxy_set_headerConnection"";#用途:清空要发送到代理服务器的HTTP请求头......
  • 新番神器:日本住宅IP引领你进入动漫世界
    动漫作为一种独特的艺术形式,吸引着全球无数的粉丝。然而,由于地域限制和许可问题,我们可能无法及时观看到最新的日本动漫作品。普通的工具不能直接登录日本的动漫网站,属实扫兴,这时候日本住宅IP就成了真神了。1.日本住宅IP:解锁动漫的禁区在全球范围内,许多优秀的日本动漫作品因为版权和......
  • kube-proxy修改日志级别并观察endpoint变化
    k8sv1.15.0修改日志级别keditdskube-proxy-nkube-system增加kube-system命名空间下corednsPodkgetendpointskube-dns-nkube-system-oyaml持续输出kube-proxy日志dockerlogs-f`dockerps|grepkube-proxy|grep-vpause|awk'{print$1}'`pkg/prox......
  • could not initialize proxy - no Session
    在<many-to-on>中这错误很常见,字面意义就是不能被初始化,因为session已经关闭了。简单理解就是因为,你使用了lazy=true,这样hibernate在从数据库中调数据的时候是不会把关联的对象查出来的,而是保存一个获取值得方法,在你使用getXXX()调用的时候,hiberante会利用这个保存的方法去从数据库......
  • SAP Fiori Tools 里 proxy 中间件的使用场景介绍
    使用proxy中间件可以让开发人员通过配置的方式连接不同的后台系统,或者是切换不同的SAPUI5版本。下面是一个典型的ui5.yaml里的proxy配置文件的例子:-name:fiori-tools-proxyafterMiddleware:compressionconfiguration:backend:-path:/sapur......