AdguardTeam / AdguardTeam/Scriptlets
Improve 'set-local-storage-item' — allow modifying nested properties
- Ngôn ngữ chính
- JavaScript
- Star
- 195
- Fork
- 33
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
Currently, only top-level keys can be modified in local storage using the `set-local-storage-item` scriptlet. However, some applications store data in local storage by saving an object and using nested properties within it.
A good example is help.semmelweis.hu, where the result of the cookie notice is stored under the `app` key in local storage, specifically within a nested object such as `app.consentOptions.analytics`.
At the moment, there’s no way to do something like this:
```adblock
help.semmelweis.hu#%#//scriptlet('set-local-storage-item', 'app.consentOptions.functional', 'true')
help.semmelweis.hu#%#//scriptlet('set-local-storage-item', 'app.consentOptions.analytics', 'false')
help.semmelweis.hu#%#//scriptlet('set-local-storage-item', 'app.consentOptions.marketing', 'false')
```
For backward compatibility, perhaps the best option would be to add a new parameter that determines whether dots should be interpreted as nesting. The default value of this parameter would be `false`. There are two main reasons for this:
- currently, both ADG and uBO include an example in their documentation using `player.live.current.mute`, and
- there are also existing matches for the regex `'?set-local-storage-item'?, '?.*\.` in both the AdGuard Filters and uAssets.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Đánh giá
Issue này chưa được đánh giá.