当前位置:网站首页>[js practice every m days] JS export object analysis based on libcef application (steam)
[js practice every m days] JS export object analysis based on libcef application (steam)
2022-06-29 01:09:00 【Night owls chasing dreams】
List of articles
Reading guide
More and more third-party software is being used in the market cef Client development , To enrich software functions , These software generally encapsulate some global variables , This way down :
In this way windows There are twoorthree such objects under the object , How to find a custom blue marker api Well ?
programme
- Name all of the target software window Object's keys, Write it down as cefKeys;
- Enumerate the... Of any web site window Object's keys, Write it down as defaultKeys;
- Two arrays cefKeys About defaultKeys Of
Relative complement,cefKeys - defaultKeys.
Realization
Target software window Object's keys obtain
Here we need to pay attention to , Because the data is larger than 100 individual , There is no way to copy the data , We can only convert the data to a string and copy it out .
Direct execution Object.keys(window).toString(), The end result is as follows :
Copy the results , Put it on another console , Then it can be parsed into an array ,var cefKeys = "*********".split(',').
Find the complement
// Get the of a web page windows
var defaultKeys = Object.keys(window);
// Find the complement
var ret = cefKeys.filter(x => -1==defaultKeys.indexOf(x));
// Print the sorted results
console.log(ret.sort());
The effect is as follows , These are the libcef Application , The global object used :
Comprehensive case : Print libcef Global object attributes in the application
stay libcef Execute the following code in the application :
// Get the of a web page windows
var defaultKeys = 'window,self,document,name,location,customElements,history,locationbar,menubar,personalbar,scrollbars,statusbar,toolbar,status,closed,frames,length,top,opener,parent,frameElement,navigator,origin,external,screen,innerWidth,innerHeight,scrollX,pageXOffset,scrollY,pageYOffset,visualViewport,screenX,screenY,outerWidth,outerHeight,devicePixelRatio,clientInformation,screenLeft,screenTop,defaultStatus,defaultstatus,styleMedia,onsearch,isSecureContext,performance,onappinstalled,onbeforeinstallprompt,crypto,indexedDB,webkitStorageInfo,sessionStorage,localStorage,onbeforexrselect,onabort,onblur,oncancel,oncanplay,oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus,onformdata,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange,onwaiting,onwebkitanimationend,onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,onauxclick,ongotpointercapture,onlostpointercapture,onpointerdown,onpointermove,onpointerup,onpointercancel,onpointerover,onpointerout,onpointerenter,onpointerleave,onselectstart,onselectionchange,onanimationend,onanimationiteration,onanimationstart,ontransitionrun,ontransitionstart,ontransitionend,ontransitioncancel,onafterprint,onbeforeprint,onbeforeunload,onhashchange,onlanguagechange,onmessage,onmessageerror,onoffline,ononline,onpagehide,onpageshow,onpopstate,onrejectionhandled,onstorage,onunhandledrejection,onunload,alert,atob,blur,btoa,cancelAnimationFrame,cancelIdleCallback,captureEvents,clearInterval,clearTimeout,close,confirm,createImageBitmap,fetch,find,focus,getComputedStyle,getSelection,matchMedia,moveBy,moveTo,open,postMessage,print,prompt,queueMicrotask,releaseEvents,reportError,requestAnimationFrame,requestIdleCallback,resizeBy,resizeTo,scroll,scrollBy,scrollTo,setInterval,setTimeout,stop,webkitCancelAnimationFrame,webkitRequestAnimationFrame,chrome,caches,cookieStore,ondevicemotion,ondeviceorientation,ondeviceorientationabsolute,showDirectoryPicker,showOpenFilePicker,showSaveFilePicker,originAgentCluster,trustedTypes,speechSynthesis,onpointerrawupdate,crossOriginIsolated,scheduler,openDatabase,webkitRequestFileSystem,webkitResolveLocalFileSystemURL,hashMatch,bds,isOldIE,al_arr,selfOpen,isIE,E,detectIntervals,G,ns_c_pj,ns_c,A,__perf_www_datas,imgErrList,imgErrFun,cbs,ts,bdUser,bdQuery,bdUseFavo,bdFavoOn,bdCid,bdSid,bdServerTime,bdQid,bdstoken,_eclipse,login_success,$,jQuery,define,require,esl,Cookie,UPS,__restart_confirm_timeout,__confirm_timeout,__disable_is_guide,__disable_swap_to_empty,__switch_add_mask,__extends,__assign,__rest,__decorate,__param,__metadata,__awaiter,__generator,__exportStar,__values,__read,__spread,__spreadArrays,__await,__asyncGenerator,__asyncDelegator,__asyncValues,__makeTemplateObject,__importStar,__importDefault,__classPrivateFieldGet,__classPrivateFieldSet,__createBinding,addEV,_aMC,al_c,al_c2,c,TagQ,h,escapeHTML,initPreload,user_c,initPassV3,isp_hijack,isbase64,formatDate,baseChangeUrl,langChangeUrl,advChangeUrl,fileChangeUrl,queryReplace,extChangeUrl,domain,sethfPos,__callback_names,ie,ie6,url,skinDefer,langfilterTip,timefilterTip,fileTypeTip,insideSearchTip,jQuery110204841899757731367,initResultClickLog,fa,_invoke_login,browser,browserversion,browsertype,os,isWinVista,osversion,PRE_CONN,ctwin,icodetest,searchUiPcNode,searchUiPc,b_rec,scr_rec,reh_rec,hash,setSugKey,getCursortPosition,changeUrl,pageState,PDC_ASYNC,winFilter,BD_PS_C1644926387321,BD_PS_C1644926387344,v,_WWW_SRV_T,$body,__core-js_shared__,bdDataLayer,toast,setImmediate,clearImmediate,cssLinks,$scopeId,ngInspector,delayHideOnTip,delayShowOnTip,delayHideOnIcon,BD_PS_C1644926394536,jQuery110204841899757731367_1644926387224,BD_PS_C1644926410732,param,oldEnv,currentScriptElem,tplname,bd_cb_dict3_1644929345235,clickstream,BD_PS_C1644929345307,cfpromise,BD_PS_C1644929345345,swap_wait,core,_,bd_cb_dict3_1644930121647,BD_PS_C1644930121702,BD_PS_C1644930121729,BD_PS_C1644930128706,BD_PS_C1644930128726,BD_PS_C1644931438676,BD_PS_C1644931444073,BD_PS_C1644931444093,BD_PS_C1644931445203,BD_PS_C1644931776983,BD_PS_C1644931777009,BD_PS_C1644931783049,BD_PS_C1644931784101,wd,nsclickDomain,BD_PS_C1644932847342,img,src,BD_PS_C1644932965801,BD_PS_C1644933004323,BD_PS_C1644933056952,BD_PS_C1644933065939,BD_PS_C1644933065961,BD_PS_C1644933072325,BD_PS_C1644933758701,BD_PS_C1644933758720,BD_PS_C1644933759807'.split(',')
var cefKeys = Object.keys(window)
// Find the complement
var ret = cefKeys.filter(x => -1==defaultKeys.indexOf(x));
// Print the sorted results
ret = ret.sort()
console.log(ret);
var log = '';
for (var idx in ret) {
var name=ret[idx];
log += '\n\n=========================================== ' + name + '\n';
var lst_prop = []
var obj = window[name];
if (typeof obj == "object") {
for(var k in obj) {
lst_prop.push(k);
log += lst_prop.toString();
}
}
}
console.log(log);
One knowledge point is attached : Get object properties :
- window[name] Equivalent to
- Object.getOwnPropertyDescriptor(window, name).value
Reference material
- js use Set Realize Union (Union)、 intersection (Intersect) And subtraction (Difference) https://blog.csdn.net/mhbsoft/article/details/81487826
- qq Group : Night owl dream chasing technology exchange skirt /953949723

边栏推荐
- 个人买同业存单基金选择什么证券公司开户好,更安全
- [leetcode] 522. Longest special sequence II violence + double pointer
- [image processing] image curve adjustment system based on MATLAB
- How to mount FSS object storage locally
- Blazor University (34) forms - get form status
- 立创eda学习笔记:铺铜死区?孤岛?死铜?
- EasyCVR接入Ehome协议的设备,无法观看设备录像是什么原因?
- 674. longest continuous increasing sequence
- [Gym 102423]-Elven Efficiency | 思维
- Easycvr service private What should I do if the PEM file is emptied and cannot be started normally?
猜你喜欢

How to mount FSS object storage locally
![[leetcode] 522. 最长特殊序列 II 暴力 + 双指针](/img/88/3ddeefaab7e29b8eeb412bb5c3e9b8.png)
[leetcode] 522. 最长特殊序列 II 暴力 + 双指针

How can multidimensional analysis pre summary work?

Day 7 scripts and special effects

EasyCVR播放视频出现卡顿花屏时如何解决?

第七天 脚本与特效

Cocoscrreator dynamically switches skeletondata to update bones
![[staff] accent mark, gradually stronger mark and gradually weaker mark](/img/5d/5738bd5503d7ed0621932f901c2e8d.jpg)
[staff] accent mark, gradually stronger mark and gradually weaker mark

深度优先搜索实现抓牛问题

The latest justnews theme source code 6.0.1 happy version + social Q & a plug-in 2.3.1+ tutorial
随机推荐
Redis common command manual
滑环的基本结构及工作原理分析
User login (remember the user) & user registration (verification code) [using cookie session technology]
接雨水系列问题
Day 7 scripts and special effects
Werewolf kill casual game wechat applet template source code / wechat game source code
UI highly adaptive modification scheme
Mapbox GL loading local publishing DEM data
EasyCVR新建用户后,视频调阅页面不能点击的问题修复
流媒体集群应用与配置:如何在一台服务器部署多个EasyCVR?
It is safer for individuals to choose a securities company to open an account when buying interbank certificates of deposit
IT治理方面的七个错误,以及如何避免
Hello i am back
[UVM] my main_ Why can't the case exit when the phase runs out? Too unreasonable!
狼人杀休闲游戏微信小程序模板源码/微信小游戏源码
[leetcode] 522. Longest special sequence II violence + double pointer
立创eda学习笔记:铺铜死区?孤岛?死铜?
【Proteus仿真】4x4矩阵键盘中断方式扫描 +数码管显示
Is l1-031 too fat (10 points)
[proteus simulation] 4x4 matrix keyboard interrupt mode scanning + nixie tube display

