ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Mozilla ΠΎΠ±ΡΡΠ²ΠΈΠ»Π° ΠΎ Π½Π°ΡΠ°Π»Π΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² Firefox ΡΡΠ΅ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° Chrome, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅ΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΡΠ΅ΡΡΡΡΡ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π΄Π»Ρ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ API WebExtensions. ΠΠ»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° Π² Π±Π΅ΡΠ°-Π²Π΅ΡΡΠΈΠΈ Firefox 101 Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ about:config ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Β«extensions.manifestV3.enabledΒ» Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true, Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Β«xpinstall.signatures.requiredΒ» Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ false. ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ about:debugging. ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΎ Π½Π° ΠΊΠΎΠ½Π΅Ρ Π³ΠΎΠ΄Π°.
ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 57 Firefox ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅ΡΡΠ» Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ API WebExtensions Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΠ» ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ XUL. ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° WebExtensions ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΠΌΠΈ Chrome, Opera, Safari ΠΈ Edge, ΡΠΏΡΠΎΡΡΠΈΠ» ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ web-Π±ΡΠ°ΡΠ·Π΅ΡΠ°ΠΌΠΈ ΠΈ Π΄Π°Π» Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡΠ΅ΡΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π±ΠΎΡΡ (Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ WebExtensions ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ , ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎ ΠΎΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ°ΡΡΠ΅ΠΉ Π±ΡΠ°ΡΠ·Π΅ΡΠ°). ΠΠ»Ρ ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ°ΠΌΠΈ Π² Firefox ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΡΠΈ ΠΏΠΎΠ»Π½Π°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ ΡΠΎ Π²ΡΠΎΡΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° Chrome.
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π² Chrome Π²Π΅Π΄ΡΡΡΡ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ Π½Π° ΡΡΠ΅ΡΡΡ Π²Π΅ΡΡΠΈΡ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ°, Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΡΠΎΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° Π² ΡΠ½Π²Π°ΡΠ΅ 2023 Π³ΠΎΠ΄Π°. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ΅ΡΡΡ Π²Π΅ΡΡΠΈΡ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° ΡΡΠ°Π»Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΊΡΠΈΡΠΈΠΊΠΈ ΠΈ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ Π΄Π»Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Mozilla ΡΠ΅ΡΠΈΠ»Π° ΠΎΡΠΎΠΉΡΠΈ ΠΎΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠΎΠΌ Π² Firefox ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½Π°ΡΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
Ukunganeliseki okuphambili kunye nenguqulo yesithathu ye-manifesto ihambelana nokuguqulelwa kwimodi yokufunda kuphela ye-webRequest API, eyenza ukuba udibanise abaphathi bakho abanokufikelela ngokupheleleyo kwizicelo zenethiwekhi kwaye banokuguqula i-traffic kwi-fly. Le API isetyenziswe kwi-uBlock Origin kunye nezinye ezininzi ezongezelelweyo ukuvimba umxholo ongafanelekanga kunye nokubonelela ngokhuseleko. Esikhundleni se-webRequest API, inguqulelo yesithathu ye-manifest inikezela nge-API yokuchaza i-NetRequest API, enika ufikelelo kwi-injini yokucoca eyakhelwe-ngaphakathi eqhuba ngokuzimeleyo imithetho yokuthintela, ayivumeli ukusetyenziswa kwe-algorithms yokucoca, kwaye ayifuni. vumela ukumisela imithetho enzima ehamba enye kwenye ngokuxhomekeke kwiimeko.
Π ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π² Firefox ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ΅ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π½ΠΎΠ²ΡΠΉ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΡΠΉ API ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°, Π½ΠΎ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Chrome Π½Π΅ ΡΡΠ°Π»ΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΡΠ°ΡΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠΈΡΡΡΡΠ΅Π³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ°Π±ΠΎΡΡ API webRequest. Π‘ΡΠ΅Π΄ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° Π² Firefox:
- Π ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π·Π°ΠΌΠ΅Π½Π° ΡΠΎΠ½ΠΎΠ²ΡΡ ΡΡΡΠ°Π½ΠΈΡ Π½Π° Π²Π°ΡΠΈΠ°Π½Ρ Service Workers, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π² Π²ΠΈΠ΄Π΅ ΡΠΎΠ½ΠΎΠ²ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² (Background Service Workers). ΠΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Π² Firefox Π±ΡΠ΄Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π΄Π°Π½Π½ΠΎΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅, Π½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ²ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Event Pages, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠ²ΡΡΠ΅Π½ Π΄Π»Ρ web-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΠΈ ΡΡΡΡΠ°Π½ΡΠ΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Service Workers. Event Pages ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Ρ ΡΠΎΠ½ΠΎΠ²ΡΠΌΠΈ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌΠΈ ΠΊ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ΡΡΠ΅ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ°, ΡΠΎΡ ΡΠ°Π½ΠΈΠ² ΠΏΡΠΈ ΡΡΠΎΠΌ Π΄ΠΎΡΡΡΠΏ ΠΊΠΎ Π²ΡΠ΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ DOM. Π Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Firefox ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° ΠΏΠΎΠΊΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Event Pages, Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° Π±Π°Π·Π΅ Service Workers ΠΎΠ±Π΅ΡΠ°ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ·Π΄Π½Π΅Π΅. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π»Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Apple ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»Π° Event Pages Π² Π²ΡΠΏΡΡΠΊΠ΅ Safari Technology Preview 136.
- Imodeli entsha yesicelo semvume yegranular - i-add-on ayizukwazi ukwenziwa isebenze kuwo onke amaphepha ngexesha elinye (imvume "all_urls" isusiwe), kodwa iya kusebenza kuphela kumxholo wethebhu esebenzayo, okt. umsebenzisi kuya kufuneka aqinisekise ukuba isongezo sisebenza kwindawo nganye. KwiFirefox, zonke izicelo zokufikelela kwidatha yesiza ziya kuqwalaselwa njengokhetho, kwaye isigqibo sokugqibela malunga nonikezelo lofikelelo siya kwenziwa ngumsebenzisi, oya kukwazi ukukhetha ngokukhethayo ukuba yeyiphi i-add-on ukunika ukufikelela kwiidatha zabo kwindawo ethile.
- Utshintsho ekuphatheni izicelo ezinqamlezayo - ngokungqinelana ne-manifest entsha, izikripthi zokuqhuba umxholo ziya kuba phantsi kwezithintelo zemvume efanayo njengephepha eliphambili apho ezi zikripthi zihlonyelwe kulo (umzekelo, ukuba iphepha alinakho ukufikelela kwi indawo API, emva koko izongezo zescript nazo aziyi kufumana olu fikelelo). Olu tshintsho luphunyezwe ngokupheleleyo kwiFirefox.
- API Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Promise. Firefox ΡΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π΄Π°Π½Π½ΡΠΉ API ΠΈ Π΄Π»Ρ ΡΡΠ΅ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΡ Π΅Π³ΠΎ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΡΠ½ Β«chrome.*Β».
- ΠΠ°ΠΏΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°, Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² (ΡΠ΅ΡΡ ΠΏΡΠΎ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π³ΡΡΠΆΠ°Π΅Ρ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠΎΠ΄). Π Firefox ΡΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Mozilla Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π·Π°Π³ΡΡΠ·ΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΠ΅ Π² ΡΡΠ΅ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ°. ΠΠ»Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡ (CSP, Content Security Policy).
umthombo: opennet.ru