fingerprintjs
51 строка · 1.6 Кб
1import { getBlockedSelectors } from '../../src/sources/dom_blockers'
2
3const display = document.createElement('textarea')
4display.readOnly = true
5display.style.boxSizing = 'border-box'
6display.style.width = '100%'
7display.style.height = '75vh'
8display.value = 'Please wait...'
9
10const copyButton = document.createElement('button')
11copyButton.textContent = 'Copy'
12copyButton.addEventListener('click', (event) => {
13event.preventDefault()
14display.focus()
15display.select()
16document.execCommand('copy')
17})
18
19const downloadButton = document.createElement('button')
20downloadButton.textContent = 'Save to file'
21downloadButton.addEventListener('click', (event) => {
22event.preventDefault()
23const downloader = document.createElement('a')
24downloader.setAttribute('href', `data:text/plain;charset=utf-8,${encodeURIComponent(display.value)}`)
25downloader.setAttribute('download', '')
26downloader.style.display = 'none'
27document.body.appendChild(downloader)
28downloader.click()
29document.body.removeChild(downloader)
30})
31
32document.body.append(display, copyButton, document.createTextNode(' '), downloadButton)
33
34// Wait a bit to draw the initial UI
35setTimeout(async () => {
36try {
37const selectors: string[] = [
38/* selectors */
39]
40const blockedSelectors = await getBlockedSelectors(selectors)
41
42display.value = ''
43for (const selector of Object.keys(blockedSelectors)) {
44if (blockedSelectors[selector]) {
45display.value += `${selector}\n`
46}
47}
48} catch (error) {
49display.value = `${error}${error instanceof Error ? `\n${error.stack}` : ''}`
50}
51}, 10)
52