当前位置:网站首页>[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

边栏推荐
- [staff] accent mark, gradually stronger mark and gradually weaker mark
- BMFONT制作位图字体并在CocosCreator中使用
- EasyCVR播放视频出现卡顿花屏时如何解决?
- 【RRT三维路径规划】基于matlab快速扩展随机树无人机三维路径规划【含Matlab源码 1914期】
- 674. longest continuous increasing sequence
- What is the difference between the history and Western blotting
- DO280分配持久性存储
- QT is based on RFID Management System (applicable to most RFID Management Systems)
- [proteus simulation] 4x4 matrix keyboard interrupt mode scanning + nixie tube display
- [MCU club] design of blind water cup based on MCU [simulation design]
猜你喜欢

Misunderstanding of innovation by enterprise and it leaders

戴口罩人臉數據集和戴口罩人臉生成方法

GUI Graphical user interface programming example - color selection box

FSS object storage how to access the Intranet

EasyCVR新建用户后,视频调阅页面不能点击的问题修复

Successfully solved (machine learning data segmentation problem): modulenotfounderror: no module named 'sklearn cross_ validation‘

Operation level smart campus system source code smart campus applet source code + electronic class card + face recognition system

【leetcode】1719. Number of schemes for reconstructing a tree

Analysis Framework -- establishment of user experience measurement data system

EasyCVR播放视频出现卡顿花屏时如何解决?
随机推荐
EasyCVR播放视频出现卡顿花屏时如何解决?
盘点 6 月 yyds 的开源项目!
[SV basics] some usage of queue
Different subsequence problems I
统计学习方法(2/22)感知机
[agile 5.1] core of planning: user stories
Uvm:field automation mechanism
统计学习方法(3/22)K近邻法
Program environment and pretreatment
What is the difference between immunohistochemistry and immunohistochemistry?
What is the difference between the history and Western blotting
EasyCVR集群版本替换成老数据库造成的服务崩溃是什么原因?
【leetcode】17. Letter combination of telephone number
Drawing ECG curve with WPF
[proteus simulation] 4x4 matrix keyboard interrupt mode scanning + nixie tube display
User login (remember the user) & user registration (verification code) [using cookie session technology]
Connected to rainwater series problems
UI highly adaptive modification scheme
Qt est basé sur le système de gestion RFID (peut être appliqué à la plupart des systèmes de gestion RFID)
[MCU club] design of classroom number detection based on MCU [simulation design]

