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

边栏推荐
- The function of Schottky diode in preventing reverse connection of power supply
- What is the difference between immunohistochemistry and immunohistochemistry?
- What is the reason why easycvr can't watch the device video when it is connected to the home protocol?
- Blazor University (34) forms - get form status
- How to mount FSS object storage locally
- What is the difference between the history and Western blotting
- [MCU club] design of classroom number detection based on MCU [simulation design]
- After easycvr creates a new user, the video access page cannot be clicked. Fix the problem
- [eight part essay] MySQL
- Maximum path and problem (cherry picking problem)
猜你喜欢

Precautions for installation and use of rotary joint

Analysis Framework -- establishment of user experience measurement data system

肖特基二极管在防止电源反接的作用

What is the reason why easycvr can't watch the device video when it is connected to the home protocol?

Misunderstanding of innovation by enterprise and it leaders

674. longest continuous increasing sequence

PR 2021 quick start tutorial, how to use audio editing in PR?

SRAM和DRAM之间的异同

IT治理方面的七个错误,以及如何避免
![[staff] pedal mark (step on pedal ped mark | release pedal * mark | corresponding pedal command in MIDI | continuous control signal | switch control signal)](/img/2b/e358b22d62ce6d683ed93418ff39fe.jpg)
[staff] pedal mark (step on pedal ped mark | release pedal * mark | corresponding pedal command in MIDI | continuous control signal | switch control signal)
随机推荐
What is contemporaneous group analysis? Teach you to use SQL to handle
【火灾检测】基于matlab GUI森林火灾检测系统(带面板)【含Matlab源码 1921期】
Streaming media cluster application and configuration: how to deploy multiple easycvr on one server?
[SV basics] some usage of queue
使用.Net驱动Jetson Nano的OLED显示屏
What is the difference between the histology and western blotting 两种方法都是进行组织染色的
FSS object storage how to access the Intranet
Operation level smart campus system source code smart campus applet source code + electronic class card + face recognition system
QT is based on RFID Management System (applicable to most RFID Management Systems)
How many locks are added to an update statement? Take you to understand the underlying principles
最新Justnews主题源码6.0.1开心版+社交问答插件2.3.1+附教程
Misunderstanding of innovation by enterprise and it leaders
Seven mistakes in IT Governance and how to avoid them
肖特基二极管在防止电源反接的作用
戴口罩人臉數據集和戴口罩人臉生成方法
[Architect (Part 38)] locally install the latest version of MySQL database developed by the server
Is it safe to open an account on great wisdom
Is it safe and reliable for qiniu school to help open a securities account? How to drive
EasyCVR集群版本替换成老数据库造成的服务崩溃是什么原因?
GUI Graphical user interface programming example - color selection box

