рдУрдкрди рд╕реЛрд░реНрд╕ рдлрд╛рдЙрдВрдбреЗрд╢рдирдиреЗ JavaScript API рдорд░реНрдпрд╛рджрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА JShelter рдмреНрд░рд╛рдЙрдЭрд░ рдЕреЕрдб-рдСрди рд╕рд╛рджрд░ рдХреЗрд▓реЗ

рдлреНрд░реА рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдлрд╛рдЙрдВрдбреЗрд╢рдирдиреЗ JShelter рдкреНрд░рдХрд▓реНрдк рд╕рд╛рджрд░ рдХреЗрд▓рд╛, рдЬреЛ рд╡реЗрдмрд╕рд╛рдЗрдЯреНрд╕рд╡рд░ JavaScript рд╡рд╛рдкрд░рддрд╛рдирд╛ рдЙрджреНрднрд╡рдгрд╛рд▒реНрдпрд╛ рдзреЛрдХреНрдпрд╛рдВрдкрд╛рд╕реВрди рд╕рдВрд░рдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдмреНрд░рд╛рдЙрдЭрд░ рдЕреЕрдб-рдСрди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЛ, рдЬреНрдпрд╛рдордзреНрдпреЗ рд▓рдкрд╡рд┐рд▓реЗрд▓реЗ рдУрд│рдЦ, рдЯреНрд░реЕрдХрд┐рдВрдЧ рд╣рд╛рд▓рдЪрд╛рд▓реА рдЖрдгрд┐ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдЬрдорд╛ рдХрд░рдгреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ. рдкреНрд░рдХрд▓реНрдк рдХреЛрдб GPLv3 рдкрд░рд╡рд╛рдиреНрдпрд╛рдЕрдВрддрд░реНрдЧрдд рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рдлрд╛рдпрд░рдлреЙрдХреНрд╕, рдЧреБрдЧрд▓ рдХреНрд░реЛрдо, рдСрдкреЗрд░рд╛, рдмреНрд░реЗрд╡реНрд╣, рдорд╛рдпрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдПрдЬ рдЖрдгрд┐ рдХреНрд░реЛрдорд┐рдпрдо рдЗрдВрдЬрд┐рдирд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЗрддрд░ рдмреНрд░рд╛рдЙрдЭрд░рд╕рд╛рдареА рдЕреЕрдб-рдСрди рддрдпрд╛рд░ рдЖрд╣реЗ.

NLnet рдлрд╛рдЙрдВрдбреЗрд╢рди рджреНрд╡рд╛рд░реЗ рдирд┐рдзреА рдкреНрд░рд╛рдкреНрдд рд╕рдВрдпреБрдХреНрдд рдЙрдкрдХреНрд░рдо рдореНрд╣рдгреВрди рд╣рд╛ рдкреНрд░рдХрд▓реНрдк рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рдд рдЖрд╣реЗ. NoScript рдЕреЕрдб-рдСрдирдЪреЗ рдирд┐рд░реНрдорд╛рддреЗ, рддрд╕реЗрдЪ J++ рдкреНрд░рдХрд▓реНрдкрд╛рдЪреЗ рд╕рдВрд╕реНрдерд╛рдкрдХ рдЖрдгрд┐ JS-Shield рдЖрдгрд┐ JavaScript Restrictor рдЕреЕрдб-рдСрдирдЪреЗ рд▓реЗрдЦрдХ рдЬреНрдпреЛрд░реНрдЬрд┐рдУ рдорд╛рдУрдиреЗ рджреЗрдЦреАрд▓ JShelterрдЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рд╛рдд рд╕рд╛рдореАрд▓ рдЭрд╛рд▓реЗ. JavaScript Restrictor рдЕреЕрдб-рдСрди рдирд╡реАрди рдкреНрд░рдХрд▓реНрдкрд╛рд╕рд╛рдареА рдЖрдзрд╛рд░ рдореНрд╣рдгреВрди рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ.

рд╡реЗрдмрд╕рд╛рдЗрдЯреНрд╕ рдЖрдгрд┐ рд╡реЗрдм рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рд╕рд╛рдареА рдЙрдкрд▓рдмреНрдз JavaScript рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЗрдВрдЯрд░рдлреЗрд╕рд╕рд╛рдареА JShelter рдЪрд╛ рдПрдХ рдкреНрд░рдХрд╛рд░рдЪрд╛ рдлрд╛рдпрд░рд╡реЙрд▓ рдореНрд╣рдгреВрди рд╡рд┐рдЪрд╛рд░ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ. рдЕреЕрдб-рдСрди рдЪрд╛рд░ рд╕реНрддрд░рд╛рдВрдЪреЗ рд╕рдВрд░рдХреНрд╖рдг, рддрд╕реЗрдЪ API рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд▓рд╡рдЪрд┐рдХ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдореЛрдб рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рд╢реВрдиреНрдп рдкрд╛рддрд│реА рд╕рд░реНрд╡ API рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рд╕ рдкреВрд░реНрдгрдкрдгреЗ рдЕрдиреБрдорддреА рджреЗрддреЗ, рдкрд╣рд┐рд▓реНрдпрд╛рдордзреНрдпреЗ рдХрд┐рдорд╛рди рдмреНрд▓реЙрдХрд┐рдВрдЧ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ рдЬреЗ рдкреГрд╖реНрдард╛рдВрдЪреНрдпрд╛ рдСрдкрд░реЗрд╢рдирдордзреНрдпреЗ рд╡реНрдпрддреНрдпрдп рдЖрдгрдд рдирд╛рд╣реА, рджреБрд╕рд░рд╛ рд╕реНрддрд░ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреЗ рдЖрдгрд┐ рд╕реБрд╕рдВрдЧрддрддрд╛ рдпрд╛рдВрдЪреНрдпрд╛рддреАрд▓ рд╕рдВрддреБрд▓рди рдЖрдгрд┐ рдЪреМрдереНрдпрд╛ рд╕реНрддрд░рд╛рдордзреНрдпреЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕рд░реНрд╡рдХрд╛рд╣реА рдХрдареЛрд░рдкрдгреЗ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ.

API рдмреНрд▓реЙрдХрд┐рдВрдЧ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рд╡реИрдпрдХреНрддрд┐рдХ рд╕рд╛рдЗрдЯрд╢реА рдЬреЛрдбрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдХрд╛рд╣реА рд╕рд╛рдЗрдЯрд╕рд╛рдареА рд╕рдВрд░рдХреНрд╖рдг рдордЬрдмреВрдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ рдЖрдгрд┐ рдЗрддрд░рд╛рдВрд╕рд╛рдареА рдЕрдХреНрд╖рдо рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рддреБрдореНрд╣реА рдХрд╛рд╣реА JavaScript рдкрджреНрдзрддреА, рд╡рд╕реНрддреВ, рдЧреБрдгрдзрд░реНрдо рдЖрдгрд┐ рдлрдВрдХреНрд╢рдиреНрд╕ рдирд┐рд╡рдбрдХрдкрдгреЗ рдмреНрд▓реЙрдХ рдХрд░реВ рд╢рдХрддрд╛ рдХрд┐рдВрд╡рд╛ рд░рд┐рдЯрд░реНрди рд╡реНрд╣реЕрд▓реНрдпреВ рдмрджрд▓реВ рд╢рдХрддрд╛ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕рд┐рд╕реНрдЯрдордмрджреНрджрд▓ рдЪреБрдХреАрдЪреА рдорд╛рд╣рд┐рддреА рддрдпрд╛рд░ рдХрд░рд╛). NBS (рдиреЗрдЯрд╡рд░реНрдХ рдмрд╛рдЙрдВрдбреНрд░реА рд╢реАрд▓реНрдб) рдореЛрдб рд╣реЗ рд╡реЗрдЧрд│реЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдЖрд╣реЗ, рдЬреЗ рдкреГрд╖реНрдард╛рдВрдирд╛ рдмрд╛рд╣реНрдп рдЖрдгрд┐ рд╕реНрдерд╛рдирд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рджрд░рдореНрдпрд╛рди рдкреНрд░реЙрдХреНрд╕реА рдореНрд╣рдгреВрди рдмреНрд░рд╛рдЙрдЭрд░ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрдд тАЛтАЛтАЛтАЛрдирд╛рд╣реА (рд╕рд░реНрд╡ рдмрд╛рд╣реЗрд░ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рд╡рд┐рдирдВрддреНрдпрд╛ рд░реЛрдЦрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд).

рдЕрд╡рд░реЛрдзрд┐рдд рдХрд┐рдВрд╡рд╛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд API:

  • window.Date, window.performance.now(), window.PerformanceEntry, Event.prototype.timeStamp, Gamepad.prototype.timestamp рдЖрдгрд┐ VRFrameData.prototype.timestamp - рдЕрдЪреВрдХ рд╡реЗрд│ рдЖрдЙрдЯрдкреБрдЯ рдУрд│рдЦрдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╕рд╛рдЗрдб-рдЪреЕрдиреЗрд▓ рд╣рд▓реНрд▓реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ .
  • HTMLCanvasElement (canvas.toDataURL(), canvas.toBlob(), CanvasRenderingContext2D.getImageData, OffscreenCanvas.convertToBlob()) - рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдУрд│рдЦрддрд╛рдирд╛ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдЪреА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ.
  • AudioBuffer рдЖрдгрд┐ AnalyserNode (AudioBuffer.getChannelData(), AudioBuffer.copyFromChannel(), AnalyserNode.getByteTimeDomainData(), AnalyserNode.getFloatTimeDomainData(), AnalyserNode.getChannelData(), AnalyserNode.getChannelDatare(AnalyserNode). ata()) - рдСрдбрд┐рдУ рд╕рд┐рдЧреНрдирд▓рдЪреНрдпрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рджреНрд╡рд╛рд░реЗ рдУрд│рдЦ.
  • WebGLRenderingContext - рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд╕реНрдЯреЕрдХ рдЖрдгрд┐ GPU рдЪреНрдпрд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рджреНрд╡рд╛рд░реЗ рдУрд│рдЦ.
  • MediaDevices.prototype.enumerateDevices - рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдЖрдгрд┐ рдХреЕрдореЗрд░рд╛ рдЖрдгрд┐ рдорд╛рдпрдХреНрд░реЛрдлреЛрдирдЪреА рдирд╛рд╡реЗ рдорд┐рд│рд╡реВрди рдУрд│рдЦ.
  • navigator.deviceMemory, navigator.hardwareConcurrency - рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░рдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рдорд┐рд│рд╡рдгреЗ.
  • XMLHttpRequest (XHR) - рдкреГрд╖реНтАНрда рд▓реЛрдб рдХреЗрд▓реНтАНрдпрд╛рдирдВрддрд░ рд╕рдВрдХрд▓рд┐рдд рдХреЗрд▓реЗрд▓реА рд╕рд┐рд╕реНтАНрдЯрдо рдорд╛рд╣рд┐рддреА рдмрд╛рд╣реНрдп рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ.
  • ArrayBuffer - рдорд╛рдпрдХреНрд░реЛрдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рд╕реНрдкреЗрдХреНрдЯрд░ рд╣рд▓реНрд▓рд╛ рдкрд╛рд░ рдкрд╛рдбрдгреЗ.
  • рд╡реЗрдмрд╡рд░реНрдХрд░ (window.Worker), SharedArrayBuffer (window.SharedArrayBuffer) - рдбреЗрдЯрд╛ рдНрдХреНрд╕реЗрд╕ рдХрд░рддрд╛рдирд╛ рд╡рд┐рд▓рдВрдмрд╛рдЪреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдгрд╛рд░реЗ рд╣рд▓реНрд▓реЗ рдХрд░рдгреЗ.
  • рднреМрдЧреЛрд▓рд┐рдХ рд╕реНрдерд╛рди API (navigator.geolocation) - рд╕реНрдерд╛рди рдорд╛рд╣рд┐рддреАрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ (рдЕтАНреЕрдбрд┐рд╢рди рддреБрдореНрд╣рд╛рд▓рд╛ рдкрд░рдд рдХреЗрд▓реЗрд▓рд╛ рдбреЗрдЯрд╛ рд╡рд┐рдХреГрдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ).
  • рдЧреЗрдордкреЕрдб API (navigator.getGamepads()) рд╣реЗ рдУрд│рдЦ рдЪрд┐рдиреНрд╣рд╛рдВрдкреИрдХреА рдПрдХ рдЖрд╣реЗ рдЬреЗ рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рдЧреЗрдордкреЕрдбрдЪреА рдЙрдкрд╕реНрдерд┐рддреА рд▓рдХреНрд╖рд╛рдд рдШреЗрддреЗ.
  • рдЖрднрд╛рд╕реА рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ API, рдорд┐рд╢реНрд░рд┐рдд рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ API - рдУрд│рдЦрдгреНрдпрд╛рд╕рд╛рдареА рдЖрднрд╛рд╕реА рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдЪрд╛ рд╡рд╛рдкрд░.
  • window.name - рдХреНрд░реЙрд╕-рд╕рд╛рдЗрдЯ рд▓реАрдХ.
  • navigator.sendBeacon - рд╡реЗрдм рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛