├── .gitignore
├── LICENSE.md
├── README.md
├── Vanilla Test
├── assets
│ ├── css
│ │ └── popup.css
│ ├── images
│ │ ├── ._angle-down-solid.svg
│ │ ├── ._step-1.png
│ │ ├── ._step-2.png
│ │ ├── ._step-3.png
│ │ ├── ._why-taglab-web.png
│ │ ├── angle-down-solid.svg
│ │ ├── clear.svg
│ │ ├── collapse.svg
│ │ ├── cross_icon.svg
│ │ ├── expand.svg
│ │ ├── icon-128x128.png
│ │ ├── icon-16x16.png
│ │ ├── icon-48x48.png
│ │ ├── import.svg
│ │ ├── logo - Copie.png
│ │ ├── logo.png
│ │ ├── pause.svg
│ │ ├── record.svg
│ │ ├── regex_icons
│ │ │ ├── 11.png
│ │ │ ├── 154.png
│ │ │ ├── Adobe_Analytics_1epQelI.png
│ │ │ ├── Adobe_Audience_Manager.png
│ │ │ ├── Adobe_Audience_Manager_IfpvyPf.png
│ │ │ ├── Adobe_Audience_Manager_U003ytE.png
│ │ │ ├── Adobe_Launch.png
│ │ │ ├── Bing Ads.svg
│ │ │ ├── GA4_KS5yZoV.png
│ │ │ ├── GTM.png
│ │ │ ├── Google Ads.svg
│ │ │ ├── Google Analytics.svg
│ │ │ ├── Piwik_vPynUfs.png
│ │ │ ├── Quantcast-Logo.jpg
│ │ │ ├── Tealium.png
│ │ │ ├── Tealium_1qu2F0v.png
│ │ │ ├── Tealium_DShQxXC.png
│ │ │ ├── Tealium_EcWNvAl.png
│ │ │ ├── Tealium_ptQ7pYl.png
│ │ │ ├── adobe analytics.svg
│ │ │ ├── adobe_analytics.svg
│ │ │ ├── bing.png
│ │ │ ├── bing_ads.svg
│ │ │ ├── clarity.png
│ │ │ ├── default-icon.png
│ │ │ ├── doubleclick.png
│ │ │ ├── facebook.png
│ │ │ ├── facebook.svg
│ │ │ ├── facebook_7r6aCSk.png
│ │ │ ├── google_ads.png
│ │ │ ├── google_ads.svg
│ │ │ ├── google_analytics.svg
│ │ │ ├── google_analytics_UA.png
│ │ │ ├── hotjar.png
│ │ │ ├── hotjar.svg
│ │ │ ├── inspectlet-icon.png
│ │ │ ├── inspectlet.svg
│ │ │ ├── linkedin.png
│ │ │ ├── mixpanel.png
│ │ │ ├── salesforce.png
│ │ │ ├── salesforce_Cv5RT9e.png
│ │ │ ├── salesforce_mjLo2MG.png
│ │ │ ├── salesforce_oBENcdj.png
│ │ │ ├── salesforce_zNae3ar.png
│ │ │ ├── tiktok.svg
│ │ │ ├── tiktok.webp
│ │ │ ├── twitter.png
│ │ │ ├── wordpress.png
│ │ │ ├── yahoo.png
│ │ │ ├── yahoo_zlelQfh.png
│ │ │ └── youtube.png
│ │ ├── save.svg
│ │ ├── settings.png
│ │ ├── step-1.png
│ │ ├── step-2.png
│ │ ├── step-3.png
│ │ └── why-taglab-web.png
│ ├── js
│ │ ├── components
│ │ │ ├── Accordion.css
│ │ │ ├── Accordion.js
│ │ │ ├── BlockButton.css
│ │ │ ├── BlockButton.js
│ │ │ ├── ControlBar.css
│ │ │ ├── ControlBar.js
│ │ │ ├── Dropdown.css
│ │ │ ├── Dropdown.js
│ │ │ ├── Modal.css
│ │ │ ├── Modal.js
│ │ │ ├── Notification.css
│ │ │ ├── Notification.js
│ │ │ ├── ReadMore.css
│ │ │ ├── ReadMore.js
│ │ │ ├── Tab.js
│ │ │ ├── Tabs.css
│ │ │ ├── Tabs.js
│ │ │ ├── audit.css
│ │ │ ├── audit.js
│ │ │ ├── panels
│ │ │ │ ├── Crawls.css
│ │ │ │ ├── Crawls.js
│ │ │ │ ├── DataLayerView.css
│ │ │ │ ├── DataLayerView.js
│ │ │ │ ├── TagView.css
│ │ │ │ ├── TagView.js
│ │ │ │ ├── scenarios.css
│ │ │ │ └── scenarios.js
│ │ │ ├── popup.css
│ │ │ ├── popup.js
│ │ │ └── settings
│ │ │ │ ├── DataLayerSettings.css
│ │ │ │ ├── DataLayerSettings.js
│ │ │ │ ├── LogSettings.css
│ │ │ │ ├── LogSettings.js
│ │ │ │ ├── TagSettings.css
│ │ │ │ └── TagSettings.js
│ │ ├── google-analytics.js
│ │ ├── lib
│ │ │ ├── FileSaver.js
│ │ │ ├── FileSaver.min.js
│ │ │ ├── JSONView.js
│ │ │ ├── chromeHelpers.js
│ │ │ ├── html-docx.js
│ │ │ └── xlsx.full.min.js
│ │ ├── service_worker.js
│ │ └── store.js
│ └── sass
│ │ └── popup.scss
├── content
│ ├── content.js
│ ├── crawler_content.js
│ ├── inject.js
│ ├── playback_content.js
│ ├── recorder_content.js
│ └── recorder_inject.js
├── devtools.html
├── devtools.js
├── manifest.json
├── panel.html
├── popup
│ ├── popup.css
│ └── popup.html
└── service_worker.js
├── assets
├── images
│ ├── ._angle-down-solid.svg
│ ├── ._why-taglab-web.png
│ ├── angle-down-solid.svg
│ ├── clear.svg
│ ├── collapse.svg
│ ├── cross_icon.svg
│ ├── expand.svg
│ ├── icon-128x128.png
│ ├── icon-16x16.png
│ ├── icon-48x48.png
│ ├── import.svg
│ ├── logo - Copie.png
│ ├── logo.png
│ ├── pause.svg
│ ├── record.svg
│ ├── regex_icons
│ │ ├── adobe_analytics.svg
│ │ ├── bing_ads.svg
│ │ ├── doubleclick.png
│ │ ├── facebook.svg
│ │ ├── google_ads.svg
│ │ ├── google_analytics.svg
│ │ ├── hotjar.svg
│ │ ├── inspectlet.svg
│ │ ├── linkedin.png
│ │ └── tiktok.svg
│ ├── save.svg
│ ├── settings.png
│ └── why-taglab-web.png
├── js
│ ├── components
│ │ ├── Accordion.css
│ │ ├── Accordion.js
│ │ ├── Accordion.vue
│ │ ├── ControlBar.css
│ │ ├── ControlBar.js
│ │ ├── ControlBar.vue
│ │ ├── Modal.css
│ │ ├── Modal.js
│ │ ├── Modal.vue
│ │ ├── Notification.css
│ │ ├── Notification.js
│ │ ├── Notification.vue
│ │ ├── Popup.vue
│ │ ├── ReadMore.css
│ │ ├── ReadMore.js
│ │ ├── ReadMore.vue
│ │ ├── Tab.js
│ │ ├── Tab.vue
│ │ ├── Tabs.js
│ │ ├── Tabs.vue
│ │ ├── panels
│ │ │ ├── Crawls.js
│ │ │ ├── Crawls.vue
│ │ │ ├── DataLayerView.js
│ │ │ ├── DataLayerView.vue
│ │ │ ├── Scenarios.vue
│ │ │ ├── TagView.css
│ │ │ ├── TagView.js
│ │ │ ├── TagView.vue
│ │ │ └── scenarios.js
│ │ ├── popup.js
│ │ └── settings
│ │ │ ├── DataLayerSettings.js
│ │ │ ├── DataLayerSettings.vue
│ │ │ ├── TagSettings.js
│ │ │ └── TagSettings.vue
│ ├── google-analytics.js
│ ├── lib
│ │ └── chromeHelpers.js
│ ├── popup.js
│ ├── service_worker.js
│ └── store.js
└── sass
│ └── popup.scss
├── content
├── content.js
├── crawler_content.js
├── inject.js
├── playback_content.js
├── recorder_content.js
└── recorder_inject.js
├── css
└── popup.css
├── devtools.html
├── devtools.js
├── dist
├── content
│ ├── content.js
│ ├── crawler_content.js
│ ├── inject.js
│ ├── playback_content.js
│ ├── recorder_content.js
│ └── recorder_inject.js
├── css
│ └── popup.css
├── devtools.html
├── devtools.js
├── images
│ ├── ._angle-down-solid.svg
│ ├── ._step-1.png
│ ├── ._step-2.png
│ ├── ._step-3.png
│ ├── ._why-taglab-web.png
│ ├── angle-down-solid.svg
│ ├── clear.svg
│ ├── collapse.svg
│ ├── cross_icon.svg
│ ├── expand.svg
│ ├── icon-128x128.png
│ ├── icon-16x16.png
│ ├── icon-48x48.png
│ ├── import.svg
│ ├── logo - Copie.png
│ ├── logo.png
│ ├── pause.svg
│ ├── record.svg
│ ├── regex_icons
│ │ ├── ._11.webp
│ │ ├── ._inspectlet.png
│ │ ├── ._qubitopentag.webp
│ │ ├── ._salesforce.png
│ │ ├── 11.webp
│ │ ├── 154.png
│ │ ├── Adobe_Analytics_1epQelI.png
│ │ ├── Adobe_Audience_Manager.png
│ │ ├── Adobe_Audience_Manager_IfpvyPf.png
│ │ ├── Adobe_Audience_Manager_U003ytE.png
│ │ ├── Adobe_Launch.png
│ │ ├── Bing Ads.svg
│ │ ├── GA4_KS5yZoV.png
│ │ ├── GTM.png
│ │ ├── Google Ads.svg
│ │ ├── Google Analytics.svg
│ │ ├── Piwik_vPynUfs.png
│ │ ├── Quantcast-Logo.jpg
│ │ ├── Tealium.png
│ │ ├── Tealium_1qu2F0v.png
│ │ ├── Tealium_DShQxXC.png
│ │ ├── Tealium_EcWNvAl.png
│ │ ├── Tealium_ptQ7pYl.png
│ │ ├── adobe analytics.svg
│ │ ├── adobe_analytics.svg
│ │ ├── bing.png
│ │ ├── bing_ads.svg
│ │ ├── clarity.png
│ │ ├── doubleclick.png
│ │ ├── facebook.png
│ │ ├── facebook.svg
│ │ ├── facebook_7r6aCSk.png
│ │ ├── google_ads.png
│ │ ├── google_ads.svg
│ │ ├── google_analytics.svg
│ │ ├── google_analytics_UA.png
│ │ ├── hotjar.png
│ │ ├── hotjar.svg
│ │ ├── inspectlet.png
│ │ ├── inspectlet.svg
│ │ ├── linkedin.png
│ │ ├── mixpanel.png
│ │ ├── qubitopentag.webp
│ │ ├── salesforce.png
│ │ ├── salesforce_Cv5RT9e.png
│ │ ├── salesforce_mjLo2MG.png
│ │ ├── salesforce_oBENcdj.png
│ │ ├── salesforce_zNae3ar.png
│ │ ├── tiktok.svg
│ │ ├── tiktok.webp
│ │ ├── twitter.png
│ │ ├── wordpress.png
│ │ ├── yahoo.png
│ │ ├── yahoo_zlelQfh.png
│ │ └── youtube.png
│ ├── save.svg
│ ├── settings.png
│ ├── step-1.png
│ ├── step-2.png
│ ├── step-3.png
│ └── why-taglab-web.png
├── js
│ ├── popup.js
│ └── popup.js.LICENSE.txt
├── manifest.json
├── panel.html
├── popup.html
├── popup
│ ├── popup.css
│ └── popup.html
└── service_worker.js
├── images
├── ._angle-down-solid.svg
├── angle-down-solid.svg
├── clear.svg
├── collapse.svg
├── cross_icon.svg
├── expand.svg
├── icon-128x128.png
├── icon-16x16.png
├── icon-48x48-off.png
├── icon-48x48.png
├── import.svg
├── logo - Copie.png
├── logo.png
├── pause.svg
├── record.svg
├── regex_icons
│ ├── 11.png
│ ├── 154.png
│ ├── Adobe_Analytics_1epQelI.png
│ ├── Adobe_Audience_Manager.png
│ ├── Adobe_Audience_Manager_IfpvyPf.png
│ ├── Adobe_Audience_Manager_U003ytE.png
│ ├── Adobe_Launch.png
│ ├── Bing Ads.svg
│ ├── GA4_KS5yZoV.png
│ ├── GTM.png
│ ├── Google Ads.svg
│ ├── Google Analytics.svg
│ ├── Piwik_vPynUfs.png
│ ├── Quantcast-Logo.jpg
│ ├── Tealium.png
│ ├── Tealium_1qu2F0v.png
│ ├── Tealium_DShQxXC.png
│ ├── Tealium_EcWNvAl.png
│ ├── Tealium_ptQ7pYl.png
│ ├── adobe analytics.svg
│ ├── adobe_analytics.svg
│ ├── bing.png
│ ├── bing_ads.svg
│ ├── clarity.png
│ ├── doubleclick.png
│ ├── facebook.png
│ ├── facebook.svg
│ ├── facebook_7r6aCSk.png
│ ├── google_ads.png
│ ├── google_ads.svg
│ ├── google_analytics.svg
│ ├── google_analytics_UA.png
│ ├── hotjar.png
│ ├── hotjar.svg
│ ├── inspectlet-icon.png
│ ├── inspectlet.svg
│ ├── linkedin.png
│ ├── mixpanel.png
│ ├── salesforce.png
│ ├── salesforce_Cv5RT9e.png
│ ├── salesforce_mjLo2MG.png
│ ├── salesforce_oBENcdj.png
│ ├── salesforce_zNae3ar.png
│ ├── tiktok.svg
│ ├── tiktok.webp
│ ├── twitter.png
│ ├── wordpress.png
│ ├── yahoo.png
│ ├── yahoo_zlelQfh.png
│ └── youtube.png
├── save.svg
├── settings.png
└── why-taglab-web.png
├── lifecycle.txt
├── manifest.json
├── mix-manifest.json
├── package-lock.json
├── package.json
├── panel.html
├── popup
├── popup.css
└── popup.html
├── service_worker.js
└── webpack.mix.js
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .idea
3 | .DS_Store
4 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020-2021 Andrew Schmelyun
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## Taglab Sites
2 |
3 | Chrome extension to detect tags and datalayers.
4 |
5 |
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/._angle-down-solid.svg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/._angle-down-solid.svg
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/._step-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/._step-1.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/._step-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/._step-2.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/._step-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/._step-3.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/._why-taglab-web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/._why-taglab-web.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/angle-down-solid.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/clear.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/collapse.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/cross_icon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/icon-128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/icon-128x128.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/icon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/icon-16x16.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/icon-48x48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/icon-48x48.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/import.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/logo - Copie.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/logo - Copie.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/logo.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/pause.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/record.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/11.png:
--------------------------------------------------------------------------------
1 | BlobNotFound
The specified blob does not exist.
2 | RequestId:b277d370-201e-0071-086c-742eb4000000
3 | Time:2024-03-12T11:00:01.0271101Z
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/154.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/154.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/Adobe_Analytics_1epQelI.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/Adobe_Analytics_1epQelI.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/Adobe_Audience_Manager.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/Adobe_Audience_Manager.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/Adobe_Audience_Manager_IfpvyPf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/Adobe_Audience_Manager_IfpvyPf.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/Adobe_Audience_Manager_U003ytE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/Adobe_Audience_Manager_U003ytE.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/Adobe_Launch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/Adobe_Launch.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/Bing Ads.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/GA4_KS5yZoV.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/GA4_KS5yZoV.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/GTM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/GTM.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/Google Ads.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/Google Analytics.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/Piwik_vPynUfs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/Piwik_vPynUfs.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/Quantcast-Logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/Quantcast-Logo.jpg
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/Tealium.png:
--------------------------------------------------------------------------------
1 | BlobNotFound
The specified blob does not exist.
2 | RequestId:c4faf6c9-a01e-0050-3e6c-740acf000000
3 | Time:2024-03-12T10:59:48.9260853Z
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/Tealium_1qu2F0v.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/Tealium_1qu2F0v.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/Tealium_DShQxXC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/Tealium_DShQxXC.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/Tealium_EcWNvAl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/Tealium_EcWNvAl.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/Tealium_ptQ7pYl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/Tealium_ptQ7pYl.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/adobe analytics.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/adobe_analytics.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/bing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/bing.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/bing_ads.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/clarity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/clarity.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/default-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/default-icon.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/doubleclick.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/doubleclick.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/facebook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/facebook.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/facebook.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/facebook_7r6aCSk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/facebook_7r6aCSk.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/google_ads.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/google_ads.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/google_ads.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/google_analytics.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/google_analytics_UA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/google_analytics_UA.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/hotjar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/hotjar.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/hotjar.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/inspectlet-icon.png:
--------------------------------------------------------------------------------
1 | BlobNotFound
The specified blob does not exist.
2 | RequestId:6e35fbbb-f01e-0010-516c-740df7000000
3 | Time:2024-03-12T10:59:26.1408834Z
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/inspectlet.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/linkedin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/linkedin.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/mixpanel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/mixpanel.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/salesforce.png:
--------------------------------------------------------------------------------
1 | BlobNotFound
The specified blob does not exist.
2 | RequestId:bec16e92-701e-0021-5e6c-74ece4000000
3 | Time:2024-03-12T11:00:12.3648983Z
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/salesforce_Cv5RT9e.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/salesforce_Cv5RT9e.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/salesforce_mjLo2MG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/salesforce_mjLo2MG.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/salesforce_oBENcdj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/salesforce_oBENcdj.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/salesforce_zNae3ar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/salesforce_zNae3ar.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/tiktok.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/tiktok.webp
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/twitter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/twitter.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/wordpress.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/wordpress.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/yahoo.png:
--------------------------------------------------------------------------------
1 | BlobNotFound
The specified blob does not exist.
2 | RequestId:54ffe169-d01e-0065-066c-7466db000000
3 | Time:2024-03-12T10:59:52.0991083Z
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/yahoo_zlelQfh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/yahoo_zlelQfh.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/regex_icons/youtube.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/regex_icons/youtube.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/save.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/settings.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/step-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/step-1.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/step-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/step-2.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/step-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/step-3.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/images/why-taglab-web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/Vanilla Test/assets/images/why-taglab-web.png
--------------------------------------------------------------------------------
/Vanilla Test/assets/js/components/BlockButton.css:
--------------------------------------------------------------------------------
1 | .prevent-btn {
2 | padding: 12px 10px;
3 | background-color: #f44336;
4 | color: white;
5 | border: none;
6 | border-radius: 12px;
7 | font-size: 15px;;
8 | cursor: pointer;
9 | transition: background-color 0.3s ease;
10 | }
11 |
12 | .prevent-btn:hover {
13 | background-color: #d32f2f;
14 | }
15 |
16 | body[data-theme='dark'] .prevent-btn {
17 | background-color: #4caf50;
18 | color: #151419;
19 | }
20 |
--------------------------------------------------------------------------------
/Vanilla Test/assets/js/components/ControlBar.css:
--------------------------------------------------------------------------------
1 | button.action-btn {
2 | gap: 5px;
3 | padding: 12px 10px;
4 | background-color: #fff;
5 | color: #5c5c5c;
6 | border-radius: 12px;
7 | box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
8 | font-size: 15px;
9 | }
10 |
11 | button.action-btn:hover {
12 | box-shadow: 0px 0px 8px 1px #00000066;
13 | transition: box-shadow 0.3s ease-in-out;
14 | }
15 |
16 | .action-btn > img {
17 | width: 14px;
18 | object-fit: contain;
19 | }
20 |
21 | .control-bar {
22 | display: flex;
23 | column-gap: 8px;
24 | padding: 10px 30px;
25 | border-radius: 15px;
26 | }
27 |
28 | @media screen and (min-width: 620px) {
29 | .control-bar {
30 | margin-left: auto;
31 | margin-right: auto;
32 | }
33 | }
34 |
35 | .control-bar img {
36 | height: 24px;
37 | cursor: pointer;
38 | }
39 |
40 | body[data-theme='dark'] .control-bar{
41 | background-color: #1F1E25;
42 | }
43 | body[data-theme='dark'] .action-btn {
44 | background-color: #151419;
45 | border: none;
46 | color: #b5b5b7;
47 | box-shadow: none;
48 | }
49 |
50 | body[data-theme='dark'] .action-btn:hover {
51 | background-color: #0066ff;
52 | color: #b5b5b7;
53 | }
--------------------------------------------------------------------------------
/Vanilla Test/assets/js/components/Dropdown.css:
--------------------------------------------------------------------------------
1 | /* Dropdown container */
2 | .custom-dropdown {
3 | position: relative;
4 | display: inline-block;
5 | }
6 |
7 | /* Dropdown button */
8 | .dropdown-button {
9 | background-color: #007bff;
10 | color: white;
11 | padding: 12px 10px;
12 | border: none;
13 | border-radius: 12px;
14 | cursor: pointer;
15 | font-size: 15px;
16 | margin-right: 5px;
17 | }
18 |
19 | .dropdown-button:hover {
20 | background-color: #0056b3;
21 | }
22 |
23 | /* Dropdown list */
24 | .dropdown-list {
25 | position: absolute;
26 | right: 0;
27 | background-color: white;
28 | border: 1px solid #ccc;
29 | border-radius: 4px;
30 | box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
31 | padding: 10px;
32 | z-index: 1000;
33 | width: 200px;
34 | max-height: 150px;
35 | overflow-y: auto;
36 |
37 | }
38 |
39 | /* Dropdown item */
40 | .dropdown-item {
41 | display: flex;
42 | align-items: center;
43 | margin-bottom: 5px;
44 | width: 100%;
45 | }
46 |
47 | .dropdown-item:last-child {
48 | margin-bottom: 0;
49 | }
50 |
51 | /* Checkbox */
52 | .dropdown-item input[type="checkbox"] {
53 | margin-right: 10px;
54 | }
55 |
56 |
57 |
58 |
59 | body[data-theme='dark'] .dropdown-button {
60 | background-color: #007bff;
61 | color: #151419;
62 | font-size: 16px;
63 | }
64 |
65 | .badge {
66 | display: inline-block;
67 | position: absolute;
68 | right: 0px;
69 | background-color: #007bff;
70 | color: white;
71 | border-radius: 12px;
72 | padding: 0.2rem 0.5rem;
73 | font-size: 0.8rem;
74 | margin-left: 8px;
75 | vertical-align: middle;
76 | }
--------------------------------------------------------------------------------
/Vanilla Test/assets/js/components/Modal.css:
--------------------------------------------------------------------------------
1 | .modal-mask {
2 | position: fixed;
3 | z-index: 9998;
4 | top: 0;
5 | left: 0;
6 | width: 100%;
7 | height: 100%;
8 | background-color: rgba(0, 0, 0, 0.5);
9 | display: table;
10 | transition: all 0.3s ease;
11 | }
12 |
13 | .modal-wrapper {
14 | display: table-cell;
15 | vertical-align: middle;
16 | }
17 |
18 | .modal-container {
19 | width: 60%;
20 | margin: 0px auto;
21 | padding: 20px 30px;
22 | background-color: #fff;
23 | border-radius: 1rem;
24 | box-shadow: 0 2px 8px rgba(0, 0, 0, 0.33);
25 | transition: all 0.3s ease;
26 | font-family: Helvetica, Arial, sans-serif;
27 | }
28 |
29 | .modal-header h3 {
30 | margin-top: 0;
31 | color: #4e4e4e;
32 | font-size: x-large;
33 | font-weight: 600;
34 | text-align: center;
35 | }
36 |
37 | .modal-body {
38 | padding: 2rem 0rem;
39 | }
40 |
41 | .modal-default-button {
42 | float: right;
43 | }
44 | .modal-enter-from,
45 | .modal-leave-to {
46 | opacity: 0;
47 | }
48 |
49 | .modal-enter-active .modal-container,
50 | .modal-leave-active .modal-container {
51 | /*-webkit-transform: scale(1.1);
52 | transform: scale(1.1);*/
53 | opacity: 0;
54 | }
55 |
56 | .btn {
57 | border-radius: 45px;
58 | display: inline-flex;
59 | align-items: center;
60 | justify-content: center;
61 | color: #2ca148;
62 | border: 1px solid #2ca148;
63 | padding: 1rem 1.5rem;
64 | }
65 |
66 | .primary-btn {
67 | border-radius: 45px;
68 | background-color: #2ca148;
69 | color: #fff;
70 | display: inline-flex;
71 | align-items: center;
72 | justify-content: center;
73 | padding: 1rem 1.5rem;
74 | }
75 |
76 | .modal-footer {
77 | width: 100%;
78 | display: flex;
79 | align-items: center;
80 | justify-content: space-between;
81 | gap: 1rem;
82 | }
--------------------------------------------------------------------------------
/Vanilla Test/assets/js/components/ReadMore.css:
--------------------------------------------------------------------------------
1 | .show-more {
2 | background-color: #fafafa;
3 | width: 100%;
4 | white-space: normal; /* Allows wrapping */
5 | word-break: break-word; /* Break long words if needed */
6 | overflow-wrap: break-word;
7 | }
8 |
9 | .show-more a {
10 | float: right;
11 | }
--------------------------------------------------------------------------------
/Vanilla Test/assets/js/components/Tab.js:
--------------------------------------------------------------------------------
1 | // tab.js - Vanilla JS implementation of Tab component
2 | // Function to dynamically load the CSS file
3 |
4 | export function createTab(title = 'Tab', initialActive = true) {
5 | // Create tab element
6 | const tabElement = document.createElement('div');
7 | tabElement.className = 'tab';
8 | tabElement.style.display = initialActive ? '' : 'none';
9 |
10 | // State management
11 | let isActive = initialActive;
12 |
13 | // Public API
14 | return {
15 | element: tabElement,
16 | title: title,
17 |
18 | setActive(active) {
19 | isActive = active;
20 | tabElement.style.display = active ? '' : 'none';
21 | },
22 |
23 | appendContent(content) {
24 | if (typeof content === 'string') {
25 | tabElement.innerHTML = content;
26 | } else if (content instanceof Node) {
27 | tabElement.appendChild(content);
28 | }
29 | },
30 |
31 | isActive() {
32 | return isActive;
33 | }
34 | };
35 | }
--------------------------------------------------------------------------------
/Vanilla Test/assets/js/components/panels/scenarios.css:
--------------------------------------------------------------------------------
1 | .scenario-add-footer{
2 | width: 100%;
3 | display: flex;
4 | align-items: center;
5 | justify-content: space-between;
6 | gap: 2rem;
7 | }
8 |
9 | .scenario-add-footer button {
10 | width: 100%;
11 | font-size: small;
12 | padding: 1rem 2rem;
13 | }
14 |
15 | .scenarios {
16 | overflow-x: auto;
17 | }
18 |
19 | .scenarios::-webkit-scrollbar {
20 | height: 8px;
21 | }
22 |
23 | .scenarios::-webkit-scrollbar-thumb {
24 | background: var(--darkblue);
25 | border-radius: 40px;
26 | }
27 |
28 | .scenarios table {
29 | border-collapse: separate;
30 | text-align: left;
31 | width: 100%;
32 |
33 | }
34 |
35 | .scenarios table th,.scenarios table td{
36 | padding: 10px;
37 | min-width: 75px;
38 | font-size: small;
39 | }
40 |
41 | .scenarios table th{
42 | background-color: rgb(216, 216, 216);
43 | text-align: center;
44 | font-weight: 400;
45 | }
46 |
47 | .scenarios table td {
48 | background-color: rgb(239, 239, 239);
49 | font-weight: 300;
50 | font-size: x-small;
51 | }
52 |
53 | .new-scenario-fields{
54 | width: 100%;
55 | display: flex;
56 | flex-direction: column;
57 | row-gap: 12px;
58 | }
59 |
60 | .new-scenario-fields input {
61 | width: -webkit-fill-available;
62 | padding: 1rem;
63 | border: 1px solid #2ca148;
64 | border-radius: 45px;
65 | }
66 |
67 | .scenarios table tr.success{
68 | background-color: #b2e8b2;
69 | }
70 | .scenarios table tr.processing{
71 | background-color: #ffffaf;
72 | }
73 | .scenarios table tr.failed{
74 | background-color: #ff9f9f;
75 | }
76 |
77 | .scenarios table td.xpath{
78 | width: 73%;
79 | word-wrap: break-word;
80 | word-break: break-all;
81 | }
82 |
--------------------------------------------------------------------------------
/Vanilla Test/assets/js/components/popup.css:
--------------------------------------------------------------------------------
1 | * {
2 | margin: 0;
3 | padding: 0;
4 | }
5 |
6 | .wrapper {
7 | max-width: 100%;
8 | margin: 0;
9 | /* padding: 0px 0px; */
10 | padding-bottom: 0;
11 | position: relative;
12 | }
13 |
14 | .footer {
15 | position: absolute;
16 | bottom: 0;
17 | right: 50%;
18 | translate: 50%;
19 | margin-bottom: 10px;
20 |
21 | }
22 |
23 | .footer-text {
24 | font-size: xx-small;
25 | font-family: 'Poppins';
26 | font-weight: 400;
27 | }
28 |
29 | .heart {
30 | background-image: url("data:image/svg+xml,%3Csvg xmlns:svg='http://www.w3.org/2000/svg' xmlns='http://www.w3.org/2000/svg' version='1.0' width='645' height='585' id='svg2'%3E%3Cdefs id='defs4' /%3E%3Cg id='layer1'%3E%3Cpath d='M 297.29747,550.86823 C 283.52243,535.43191 249.1268,505.33855 220.86277,483.99412 C 137.11867,420.75228 125.72108,411.5999 91.719238,380.29088 C 29.03471,322.57071 2.413622,264.58086 2.5048478,185.95124 C 2.5493594,147.56739 5.1656152,132.77929 15.914734,110.15398 C 34.151433,71.768267 61.014996,43.244667 95.360052,25.799457 C 119.68545,13.443675 131.6827,7.9542046 172.30448,7.7296236 C 214.79777,7.4947896 223.74311,12.449347 248.73919,26.181459 C 279.1637,42.895777 310.47909,78.617167 316.95242,103.99205 L 320.95052,119.66445 L 330.81015,98.079942 C 386.52632,-23.892986 564.40851,-22.06811 626.31244,101.11153 C 645.95011,140.18758 648.10608,223.6247 630.69256,270.6244 C 607.97729,331.93377 565.31255,378.67493 466.68622,450.30098 C 402.0054,497.27462 328.80148,568.34684 323.70555,578.32901 C 317.79007,589.91654 323.42339,580.14491 297.29747,550.86823 z' id='path2417' style='fill:%23ff0000' /%3E%3Cg transform='translate(129.28571,-64.285714)' id='g2221' /%3E%3C/g%3E%3C/svg%3E%0A");
31 | height: 12px;
32 | display: inline-block;
33 | width: 12px;
34 | background-repeat: no-repeat;
35 | background-size: contain;
36 | }
--------------------------------------------------------------------------------
/Vanilla Test/assets/js/components/settings/DataLayerSettings.css:
--------------------------------------------------------------------------------
1 | .default-object-layers-container {
2 | display: flex;
3 | flex-direction: row;
4 | row-gap: 10px;
5 | column-gap: 12px;
6 | padding-left: 8px;
7 | display: flex;
8 | column-gap: 16px;
9 | flex-wrap: wrap;
10 | }
11 |
12 | .default-object-layers-column {
13 | display: flex;
14 | flex-direction: column;
15 | row-gap: 12px;
16 | column-gap: 12px;
17 | }
18 |
19 | .default-object-layers-container label {
20 | display: flex;
21 | flex-direction: row;
22 | column-gap: 8px;
23 | font-size: 14px;
24 | cursor: pointer;
25 | user-select: none;
26 | }
27 |
28 | .custom-object-layers {
29 | display: flex;
30 | flex-wrap: wrap;
31 | row-gap: 12px;
32 | column-gap: 12px;
33 | margin-top: 8px;
34 | }
35 |
36 | .custom-object-layer {
37 | background: #12b922;
38 | padding: 8px 16px;
39 | border-radius: 16px;
40 | font-family: "Poppins";
41 | font-size: 16px;
42 | font-weight: bold;
43 | color: white;
44 | padding-right: 26px;
45 | position: relative;
46 | }
47 |
48 | .custom-object-layer img {
49 | width: 13px;
50 | position: absolute;
51 | right: 6px;
52 | cursor: pointer;
53 | }
54 |
55 | .dl-settings h3 {
56 | margin-top: 24px;
57 | margin-bottom: 16px;
58 | }
59 |
60 | input#newDLObject {
61 | font-size: small;
62 | padding: 8px 12px;
63 | border-radius: 1rem;
64 | border: 1px solid #bbbbbb;
65 | margin-bottom: 12px;
66 | margin-right: 8px;
67 | min-width: 200px;
68 | }
69 |
70 | label {
71 | font-size: 14px;
72 | }
--------------------------------------------------------------------------------
/Vanilla Test/assets/js/components/settings/LogSettings.css:
--------------------------------------------------------------------------------
1 | .preserve-button {
2 | padding: 12px 10px;
3 | background-color: #2ca148;
4 | color: white;
5 | border: none;
6 | border-radius: 12px;
7 | font-size: 15px;;
8 | cursor: pointer;
9 | transition: background-color 0.3s ease;
10 | }
11 |
12 | .preserve-button:hover {
13 | background-color: #2ca148;
14 | }
15 |
16 | body[data-theme='dark'] .preserve-button {
17 | background-color: #2ca148;
18 | color: #b5b5b7;
19 | }
20 |
21 | .clear-button {
22 | background-color: #ff4d4d;
23 | color: #fff;
24 | border-radius: 12px;
25 | padding: 12px 10px;
26 | font-size: 15px;
27 | font-weight: 500;
28 | width: 100px;
29 | }
30 |
31 | .settings-title {
32 | width: 100%;
33 | }
34 |
--------------------------------------------------------------------------------
/Vanilla Test/assets/js/store.js:
--------------------------------------------------------------------------------
1 | import { reactive } from "vue";
2 |
3 | export const store = reactive({
4 | activeRegExPatterns: [],
5 | });
6 |
--------------------------------------------------------------------------------
/Vanilla Test/content/recorder_content.js:
--------------------------------------------------------------------------------
1 |
2 | var recorder = {
3 | helperListener: function(event) {
4 | if (event.type === 'recorder_message') {
5 | try {
6 | chrome.runtime.sendMessage(event.detail);
7 | } catch (e) {
8 | console.log(e)
9 | }
10 | }
11 | }
12 | };
13 |
14 |
15 | document.addEventListener('recorder_message', recorder.helperListener);
16 |
17 | if (document.getElementById('recorder_script') === null) {
18 | var recorder_inject = document.createElement('script');
19 | recorder_inject.id = 'recorder_script';
20 | recorder_inject.src = chrome.runtime.getURL('content/recorder_inject.js');
21 | recorder_inject.type = 'text/javascript';
22 | document.head.appendChild(recorder_inject);
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/Vanilla Test/devtools.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Vanilla Test/devtools.js:
--------------------------------------------------------------------------------
1 | chrome.devtools.panels.create(
2 | "TAGLAB",
3 | "",
4 | "panel.html"
5 | );
--------------------------------------------------------------------------------
/Vanilla Test/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "manifest_version": 3,
3 | "name": "TAGLAB - Analytics & Datalayer Console Viewer",
4 | "version": "1.3.4",
5 | "description": "Inspect & QA analytics tags, marketing tags, conversion pixels, and data layer variables for data auditing and tag monitoring.",
6 | "permissions": ["desktopCapture", "storage", "activeTab","tabs","scripting","downloads"],
7 | "devtools_page": "devtools.html",
8 | "action": {
9 | "default_icon": "assets/images/icon-48x48.png",
10 | "default_title": "TAGLAB",
11 | "default_popup": "popup/popup.html"
12 | },
13 | "icons": {
14 | "16": "assets/images/icon-16x16.png",
15 | "48": "assets/images/icon-48x48.png",
16 | "128": "assets/images/icon-128x128.png"
17 | },
18 | "incognito": "split",
19 | "background": {
20 | "service_worker": "assets/js/service_worker.js",
21 | "type": "module"
22 | },
23 | "content_security_policy": {
24 | "extension_pages": "script-src 'self'; object-src 'self';"
25 | },
26 |
27 | "web_accessible_resources": [
28 | {
29 | "resources": ["content/inject.js", "content/recorder_inject.js"],
30 | "matches": ["https://*/*"]
31 | }
32 | ],
33 | "host_permissions": ["http://*/", "https://*/", ""]
34 | }
35 |
--------------------------------------------------------------------------------
/Vanilla Test/panel.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | TAGLAB
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Vanilla Test/popup/popup.css:
--------------------------------------------------------------------------------
1 | body {
2 | width: 420px;
3 | padding: 0;
4 | margin: 0;
5 | }
6 |
7 | .logo-wrapper {
8 | width: 100%;
9 | display: flex;
10 | justify-content: center;
11 | align-items: center;
12 | padding: 0.5rem 0 0.5rem 0;
13 | position: sticky;
14 | top: 0;
15 | background-color: #fff;
16 | z-index: 9;
17 | }
18 |
19 | .content {
20 | padding: 0.5rem;
21 | background-color: #f6f6f6;
22 | display: flex;
23 | flex-direction: column;
24 | gap: 1rem;
25 | }
26 |
27 | ._detail {
28 | display: flex;
29 | justify-content: center;
30 | font-size: medium;
31 | font-weight: 400;
32 | }
33 | .instruction {
34 | background-color: rgba(44, 161, 72, 0.13);
35 | border-radius: 0.5rem;
36 | padding: 0 1rem 1rem 1rem;
37 | display: flex;
38 | flex-direction: column;
39 | align-items: center;
40 | justify-content: center;
41 | }
42 |
43 | .step {
44 | background-color: #2ca148;
45 | color: #fff;
46 | font-weight: 800;
47 | font-size: large;
48 | padding: 0.5rem;
49 | border-radius: 0 0 0.5rem 0.5rem;
50 | }
51 |
--------------------------------------------------------------------------------
/Vanilla Test/popup/popup.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | TAGLAB
7 |
8 |
9 |
10 |

11 |
12 |
13 |
Follow the steps below to start debugging
14 |
15 |
Step - 1
16 |

17 |
18 |
19 |
Step - 2
20 |

24 |
Click on this arrow
25 |
26 |
27 |
Step - 3
28 |
31 |

32 |
Click on "TAGLAB" to activate the service worker
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/assets/images/._angle-down-solid.svg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/assets/images/._angle-down-solid.svg
--------------------------------------------------------------------------------
/assets/images/._why-taglab-web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/assets/images/._why-taglab-web.png
--------------------------------------------------------------------------------
/assets/images/angle-down-solid.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/images/clear.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/images/collapse.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/images/cross_icon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/images/expand.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/images/icon-128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/assets/images/icon-128x128.png
--------------------------------------------------------------------------------
/assets/images/icon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/assets/images/icon-16x16.png
--------------------------------------------------------------------------------
/assets/images/icon-48x48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/assets/images/icon-48x48.png
--------------------------------------------------------------------------------
/assets/images/import.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/assets/images/logo - Copie.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/assets/images/logo - Copie.png
--------------------------------------------------------------------------------
/assets/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/assets/images/logo.png
--------------------------------------------------------------------------------
/assets/images/pause.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/images/record.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/images/regex_icons/adobe_analytics.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/images/regex_icons/bing_ads.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/images/regex_icons/doubleclick.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/assets/images/regex_icons/doubleclick.png
--------------------------------------------------------------------------------
/assets/images/regex_icons/facebook.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/images/regex_icons/google_ads.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/images/regex_icons/google_analytics.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/images/regex_icons/hotjar.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/images/regex_icons/inspectlet.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/images/regex_icons/linkedin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/assets/images/regex_icons/linkedin.png
--------------------------------------------------------------------------------
/assets/images/save.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/images/settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/assets/images/settings.png
--------------------------------------------------------------------------------
/assets/images/why-taglab-web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/assets/images/why-taglab-web.png
--------------------------------------------------------------------------------
/assets/js/components/Accordion.css:
--------------------------------------------------------------------------------
1 | /* accordion.css */
2 | /* Copy the exact same styles from the Vue component */
3 | .accordion {
4 | margin-top: 0.5em;
5 | cursor: pointer;
6 | border-radius: 10px;
7 | }
8 |
9 | .accordion-shadow {
10 | background-color: #ffffff;
11 | box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
12 | }
13 |
14 | /* Include all other styles from the original component */
--------------------------------------------------------------------------------
/assets/js/components/ControlBar.css:
--------------------------------------------------------------------------------
1 | button.action-btn {
2 | gap: 5px;
3 | padding: 12px 10px;
4 | background-color: #fff;
5 | color: #5c5c5c;
6 | border-radius: 12px;
7 | box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
8 | }
9 |
10 | button.action-btn:hover {
11 | box-shadow: 0px 0px 8px 1px #00000066;
12 | transition: box-shadow 0.3s ease-in-out;
13 | }
14 |
15 | .action-btn > img {
16 | width: 14px;
17 | object-fit: contain;
18 | }
19 |
20 | .control-bar {
21 | display: flex;
22 | column-gap: 8px;
23 | }
24 |
25 | @media screen and (min-width: 620px) {
26 | .control-bar {
27 | margin-left: auto;
28 | margin-right: auto;
29 | }
30 | }
31 |
32 | .control-bar img {
33 | height: 24px;
34 | cursor: pointer;
35 | }
--------------------------------------------------------------------------------
/assets/js/components/Modal.css:
--------------------------------------------------------------------------------
1 | .modal-mask {
2 | position: fixed;
3 | z-index: 9998;
4 | top: 0;
5 | left: 0;
6 | width: 100%;
7 | height: 100%;
8 | background-color: rgba(0, 0, 0, 0.5);
9 | display: table;
10 | transition: all 0.3s ease;
11 | }
12 |
13 | .modal-wrapper {
14 | display: table-cell;
15 | vertical-align: middle;
16 | }
17 |
18 | .modal-container {
19 | width: 60%;
20 | margin: 0px auto;
21 | padding: 20px 30px;
22 | background-color: #fff;
23 | border-radius: 1rem;
24 | box-shadow: 0 2px 8px rgba(0, 0, 0, 0.33);
25 | transition: all 0.3s ease;
26 | font-family: Helvetica, Arial, sans-serif;
27 | }
28 |
29 | .modal-header h3 {
30 | margin-top: 0;
31 | color: #4e4e4e;
32 | font-size: x-large;
33 | font-weight: 600;
34 | text-align: center;
35 | }
36 |
37 | .modal-body {
38 | padding: 2rem 0rem;
39 | }
40 |
41 | .modal-default-button {
42 | float: right;
43 | }
--------------------------------------------------------------------------------
/assets/js/components/Modal.js:
--------------------------------------------------------------------------------
1 | // modal.js - Vanilla JS implementation of Modal component
2 |
3 | export function createModal({ header = 'default header', body = 'default body', footer = 'default footer' } = {}) {
4 | // Create modal elements
5 | const modalMask = document.createElement('div');
6 | modalMask.className = 'modal-mask';
7 | modalMask.style.display = 'none';
8 |
9 | const modalWrapper = document.createElement('div');
10 | modalWrapper.className = 'modal-wrapper';
11 |
12 | const modalContainer = document.createElement('div');
13 | modalContainer.className = 'modal-container';
14 |
15 | const modalHeader = document.createElement('div');
16 | modalHeader.className = 'modal-header';
17 | modalHeader.innerHTML = header;
18 |
19 | const modalBody = document.createElement('div');
20 | modalBody.className = 'modal-body';
21 | modalBody.innerHTML = body;
22 |
23 | const modalFooter = document.createElement('div');
24 | modalFooter.className = 'modal-footer';
25 | modalFooter.innerHTML = footer;
26 |
27 | // Assemble modal structure
28 | modalContainer.appendChild(modalHeader);
29 | modalContainer.appendChild(modalBody);
30 | modalContainer.appendChild(modalFooter);
31 | modalWrapper.appendChild(modalContainer);
32 | modalMask.appendChild(modalWrapper);
33 |
34 | // Add close handler to buttons with modal-default-button class
35 | function setupCloseButtons() {
36 | const closeButtons = modalContainer.querySelectorAll('.modal-default-button');
37 | closeButtons.forEach(button => {
38 | button.addEventListener('click', close);
39 | });
40 | }
41 |
42 | // Public methods
43 | function open() {
44 | modalMask.style.display = 'table';
45 | document.body.style.overflow = 'hidden';
46 | setupCloseButtons();
47 | }
48 |
49 | function close() {
50 | modalMask.style.display = 'none';
51 | document.body.style.overflow = '';
52 | }
53 |
54 | // Initialize
55 | setupCloseButtons();
56 |
57 | // Public API
58 | return {
59 | element: modalMask,
60 | open,
61 | close,
62 | updateContent({ header, body, footer }) {
63 | if (header) modalHeader.innerHTML = header;
64 | if (body) modalBody.innerHTML = body;
65 | if (footer) modalFooter.innerHTML = footer;
66 | setupCloseButtons();
67 | }
68 | };
69 | }
--------------------------------------------------------------------------------
/assets/js/components/Modal.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 |
12 |
13 | default body
14 |
15 |
16 |
17 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
88 |
--------------------------------------------------------------------------------
/assets/js/components/Notification.css:
--------------------------------------------------------------------------------
1 | .notification-wrapper {
2 | position: fixed;
3 | min-width: 97%;
4 | bottom: 0;
5 | height: 75px;
6 | overflow-y: scroll;
7 | border-radius: 10px 0 0 10px;
8 | border: 1px solid #dbd4d4;
9 | color: black;
10 | margin: 5px;
11 | z-index: 10;
12 | background: white;
13 | display: flex;
14 | flex-direction: column-reverse;
15 | }
16 |
17 | .notification {
18 | position: relative;
19 | margin: 0.5em;
20 | padding: 0.5em 2em 0.5em 0.5em;
21 | box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.25);
22 | border-left: 4px solid #fff;
23 | background: #fff;
24 | animation: openUp 0.1s;
25 | }
26 |
27 | .notification h2,
28 | .notification p {
29 | margin: 0;
30 | }
31 |
32 | .notification h2 {
33 | margin-bottom: 0.25em;
34 | }
35 |
36 | .notification .close {
37 | position: absolute;
38 | top: 0.5em;
39 | right: 0.5em;
40 | cursor: pointer;
41 | }
42 |
43 | .notification.error {
44 | border-left: 4px solid #ea0000;
45 | }
46 |
47 | .notification.success {
48 | border-left: 4px solid #7ad03a;
49 | }
50 |
51 | .notification.warning {
52 | border-left: 4px solid #ffba00;
53 | }
54 |
55 | @keyframes openUp {
56 | 0% {
57 | transform: translateY(-50%) scale(0);
58 | opacity: 0;
59 | }
60 | 100% {
61 | transform: translateY(0%) scale(1);
62 | opacity: 1;
63 | }
64 | }
--------------------------------------------------------------------------------
/assets/js/components/ReadMore.css:
--------------------------------------------------------------------------------
1 | .show-more {
2 | background-color: #fafafa;
3 | }
4 |
5 | .show-more a {
6 | float: right;
7 | }
--------------------------------------------------------------------------------
/assets/js/components/ReadMore.js:
--------------------------------------------------------------------------------
1 | // read-more.js - Vanilla JS implementation of ReadMore component
2 |
3 | export function createReadMore(text, id = '') {
4 | // Create container
5 | const container = document.createElement('span');
6 | container.className = 'show-more';
7 | if (id) container.id = id;
8 |
9 | // State
10 | let isFullTextVisible = false;
11 | const maxLength = 45;
12 | const shouldTruncate = text.length > maxLength;
13 |
14 | // Create elements
15 | const textSpan = document.createElement('span');
16 | const toggleLink = document.createElement('a');
17 | toggleLink.href = '#';
18 | toggleLink.style.float = 'right';
19 |
20 | // Update displayed content
21 | function updateContent() {
22 | if (isFullTextVisible || !shouldTruncate) {
23 | textSpan.textContent = text;
24 | } else {
25 | textSpan.textContent = text.substring(0, maxLength) + '...';
26 | }
27 | toggleLink.textContent = isFullTextVisible ? 'Show less' : 'Show more';
28 | }
29 |
30 | // Toggle handler
31 | function handleToggle(e) {
32 | e.preventDefault();
33 | isFullTextVisible = !isFullTextVisible;
34 | updateContent();
35 | }
36 |
37 | // Initialize
38 | if (shouldTruncate) {
39 | toggleLink.addEventListener('click', handleToggle);
40 | container.appendChild(toggleLink);
41 | }
42 | container.insertBefore(textSpan, container.firstChild);
43 | updateContent();
44 |
45 | // Public API
46 | return {
47 | element: container,
48 | setText(newText) {
49 | text = newText;
50 | shouldTruncate = text.length > maxLength;
51 |
52 | if (shouldTruncate && !toggleLink.parentNode) {
53 | container.appendChild(toggleLink);
54 | } else if (!shouldTruncate && toggleLink.parentNode) {
55 | container.removeChild(toggleLink);
56 | }
57 |
58 | updateContent();
59 | },
60 | toggle() {
61 | if (shouldTruncate) {
62 | isFullTextVisible = !isFullTextVisible;
63 | updateContent();
64 | }
65 | }
66 | };
67 | }
--------------------------------------------------------------------------------
/assets/js/components/ReadMore.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{ displayedText }}
4 | {{ buttonText }}
5 |
6 |
7 |
8 |
39 |
40 |
--------------------------------------------------------------------------------
/assets/js/components/Tab.js:
--------------------------------------------------------------------------------
1 | // tab.js - Vanilla JS implementation of Tab component
2 |
3 | export function createTab(title = 'Tab', initialActive = true) {
4 | // Create tab element
5 | const tabElement = document.createElement('div');
6 | tabElement.className = 'tab';
7 | tabElement.style.display = initialActive ? '' : 'none';
8 |
9 | // State management
10 | let isActive = initialActive;
11 |
12 | // Public API
13 | return {
14 | element: tabElement,
15 | title: title,
16 |
17 | setActive(active) {
18 | isActive = active;
19 | tabElement.style.display = active ? '' : 'none';
20 | },
21 |
22 | appendContent(content) {
23 | if (typeof content === 'string') {
24 | tabElement.innerHTML = content;
25 | } else if (content instanceof Node) {
26 | tabElement.appendChild(content);
27 | }
28 | },
29 |
30 | isActive() {
31 | return isActive;
32 | }
33 | };
34 | }
--------------------------------------------------------------------------------
/assets/js/components/Tab.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
22 |
23 |
--------------------------------------------------------------------------------
/assets/js/lib/chromeHelpers.js:
--------------------------------------------------------------------------------
1 | export const chromeHelper = {
2 | /*
3 | localStorageGet: (param, callback) =>{
4 | chrome.storage.local.get(param).then(callback(response));
5 | }
6 | */
7 | //Storage
8 | localStorageSet:async (param) => {
9 | return await chrome.storage.local.set(param).then(() => {return param})
10 | },
11 | localStorageGet:async (param) =>{
12 | return await chrome.storage.local.get(param).then((response) => {return response});
13 | },
14 |
15 | //Listeners
16 | listenOnTabUpdated:async (callback) => {await chrome.devtools.network.onNavigated.addListener(callback)},
17 | removeTabUpdatedListener:async (callback) => {await chrome.devtools.network.onNavigated.removeListener(callback)},
18 |
19 | listenOnTabClosed: (callback) => {chrome.tabs.onRemoved.addListener(callback)},
20 | removeTabClosedListener: (callback) => {chrome.tabs.onRemoved.removeListener(callback)},
21 |
22 | listenOnLocalStorageChange: (callback) => {chrome.storage.onChanged.addListener(callback)},
23 | removeLocalStorageChangeListener: (callback) => {chrome.storage.onChanged.removeListener(callback)},
24 |
25 | listenToRuntimeMessages : (callback) => {chrome.runtime.onMessage.addListener(callback)},
26 | removeRuntimeMessagesListener : (callback) => {chrome.runtime.onMessage.removeListener(callback)},
27 |
28 |
29 | //Tabs
30 | sendMessageToTab:async (param, message) => {
31 | return await chrome.tabs.sendMessage(param, message).then((response) => {return response})
32 | },
33 | updateTab: (id, param, callback) => {chrome.tabs.update(id, param, callback)},
34 | closeTab: (id, callback) => {chrome.tabs.remove(id, callback)},
35 | reloadTab: (id, param, callback) => {chrome.tabs.reload(id, param, callback)},
36 | getTab:async (id) => {
37 | return await chrome.tabs.get(id).then(()=> {return true}, ()=> {return false})
38 | },
39 |
40 | //Navigation
41 | onCommitted: (callback) => {chrome.webNavigation.onCommitted.addListener(callback)},
42 | removeOnCommitted: (callback) => {chrome.webNavigation.onCommitted.removeListener(callback)},
43 |
44 | //Script Injection
45 | injectScript:async (params, callback) => {await chrome.scripting.executeScript(params, callback)},
46 |
47 | //Window manipulation
48 | createWindow:async (param) => {
49 | return await chrome.windows.create(param).then((response) => {return response})
50 | },
51 | }
52 |
53 | export default chromeHelper
54 |
55 | export const isDevTools = () => {
56 | return typeof chrome !== 'undefined' &&
57 | typeof chrome.devtools !== 'undefined';
58 | }
--------------------------------------------------------------------------------
/assets/js/popup.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue';
2 |
3 | global.jQuery = require('jquery');
4 | var $ = global.jQuery;
5 | window.$ = $;
6 |
7 | import Popup from './components/Popup.vue';
8 |
9 | const app = new Vue({
10 | el: '#app',
11 | render: createElement => createElement(Popup)
12 | });
13 |
14 | Vue.config.devtools = false;
15 |
--------------------------------------------------------------------------------
/assets/js/store.js:
--------------------------------------------------------------------------------
1 | import { reactive } from "vue";
2 |
3 | export const store = reactive({
4 | activeRegExPatterns: [],
5 | });
6 |
--------------------------------------------------------------------------------
/content/content.js:
--------------------------------------------------------------------------------
1 | document.addEventListener("click", () => {
2 | chrome.runtime.sendMessage({
3 | type: "content_click_event"
4 | })
5 | })
6 | var allowedLayers = [ 'google_tag_manager_push', 'google_tag_manager', 'tealium', 'tag_commander', 'adobe_dtm', 'var', 'launchdataelements', 'adobetags' ]
7 | chrome.storage.local.get(null, function(items) {
8 | if (items.hasOwnProperty('allowedLayers')) {
9 | var newAllowedLayers = []
10 | for (const [key, value] of Object.entries(items.allowedLayers)) {
11 | if(value) newAllowedLayers.push(key)
12 | }
13 | allowedLayers = newAllowedLayers
14 | }
15 | })
16 |
17 | if (!/addthis\.com|facebook\.com|twitter\.com/.test(document.location.host)) {
18 | var dataslayer = {
19 | helperListener: function(event) {
20 | if (event.data.type && allowedLayers.includes(event.data.type)) {
21 | try {
22 | if (event.source == window) {
23 | chrome.runtime.sendMessage(event.data);
24 | } else {
25 | event.data.iframed = true;
26 | chrome.runtime.sendMessage(event.data);
27 | }
28 | } catch (_) {
29 | }
30 | }
31 | }
32 | };
33 |
34 | window.addEventListener('message', dataslayer.helperListener);
35 |
36 | chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
37 | if (request.ask == 'refresh') {
38 | const refreshTag = document.createElement('script');
39 | refreshTag.type = 'text/javascript';
40 | refreshTag.innerHTML = 'dataslayer.refresh();';
41 | document.head.appendChild(refreshTag);
42 | } else if (request.ask == 'refreshLaunchDataElements') {
43 | const refreshTag = document.createElement('script');
44 | refreshTag.type = 'text/javascript';
45 | refreshTag.innerHTML = 'dataslayer.loadLaunchDataElements();';
46 | document.head.appendChild(refreshTag);
47 | }
48 | });
49 | if (document.getElementById('dataslayer_script') === null) {
50 | var dataslayers = document.createElement('script');
51 | dataslayers.id = 'dataslayer_script';
52 | dataslayers.src = chrome.runtime.getURL('content/inject.js');
53 | dataslayers.type = 'text/javascript';
54 | document.head.appendChild(dataslayers);
55 | chrome.storage.local.get(null, function(items) {
56 | if (items.hasOwnProperty('dataLayers')) {
57 | dataslayers.setAttribute('data-layers', items.dataLayers.join(';'));
58 | }
59 |
60 | if (items.hasOwnProperty('updateInterval')) {
61 | dataslayers.setAttribute('data-interval', items.updateInterval);
62 | }
63 |
64 | document.head.appendChild(dataslayers);
65 | });
66 | }
67 | }
68 |
69 |
--------------------------------------------------------------------------------
/content/recorder_content.js:
--------------------------------------------------------------------------------
1 |
2 | var recorder = {
3 | helperListener: function(event) {
4 | if (event.type === 'recorder_message') {
5 | try {
6 | chrome.runtime.sendMessage(event.detail);
7 | } catch (e) {
8 | console.log(e)
9 | }
10 | }
11 | }
12 | };
13 |
14 |
15 | document.addEventListener('recorder_message', recorder.helperListener);
16 |
17 | if (document.getElementById('recorder_script') === null) {
18 | var recorder_inject = document.createElement('script');
19 | recorder_inject.id = 'recorder_script';
20 | recorder_inject.src = chrome.runtime.getURL('content/recorder_inject.js');
21 | recorder_inject.type = 'text/javascript';
22 | document.head.appendChild(recorder_inject);
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/css/popup.css:
--------------------------------------------------------------------------------
1 | @import url(https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap);
2 | body{font-family:Poppins,sans-serif;overflow:overlay}.asc,.desc{display:flex;flex-direction:column-reverse}.panel-top{display:flex;margin-bottom:16px}.simple-button{background:#42a644;border:none;border-radius:16px;color:#fff;cursor:pointer;font-family:Poppins;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease-in-out}.simple-button:hover{opacity:.8}.simple-button.small{font-size:14px;padding:4px 12px}.simple-button.red{background:#eb4646}.simple-button.blue{background:#46a3eb}.settings-panel{border:1px solid #12b922;border-radius:6px;max-height:50vh;overflow-y:auto;padding:16px}.custom-scrollbar::-webkit-scrollbar{height:9px;width:9px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:#ccc;border-radius:16px}.custom-scrollbar.square::-webkit-scrollbar-thumb{background:#ccc;border-radius:0}.custom-scrollbar::-webkit-scrollbar-thumb:window-inactive{background:#ddd}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#aaa}.custom-scrollbar::-webkit-scrollbar-thumb:active{background:#888}
3 |
--------------------------------------------------------------------------------
/devtools.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/devtools.js:
--------------------------------------------------------------------------------
1 | chrome.devtools.panels.create(
2 | "TAGLAB",
3 | "",
4 | "panel.html"
5 | );
--------------------------------------------------------------------------------
/dist/content/content.js:
--------------------------------------------------------------------------------
1 | document.addEventListener("click", () => {
2 | chrome.runtime.sendMessage({
3 | type: "content_click_event"
4 | })
5 | })
6 | var allowedLayers = [ 'google_tag_manager_push', 'google_tag_manager', 'tealium', 'tag_commander', 'adobe_dtm', 'var', 'launchdataelements', 'adobetags' ]
7 | chrome.storage.local.get(null, function(items) {
8 | if (items.hasOwnProperty('allowedLayers')) {
9 | var newAllowedLayers = []
10 | for (const [key, value] of Object.entries(items.allowedLayers)) {
11 | if(value) newAllowedLayers.push(key)
12 | }
13 | allowedLayers = newAllowedLayers
14 | }
15 | })
16 |
17 | if (!/addthis\.com|facebook\.com|twitter\.com/.test(document.location.host)) {
18 | var dataslayer = {
19 | helperListener: function(event) {
20 | if (event.data.type && allowedLayers.includes(event.data.type)) {
21 | try {
22 | if (event.source == window) {
23 | chrome.runtime.sendMessage(event.data);
24 | } else {
25 | event.data.iframed = true;
26 | chrome.runtime.sendMessage(event.data);
27 | }
28 | } catch (_) {
29 | }
30 | }
31 | }
32 | };
33 |
34 | window.addEventListener('message', dataslayer.helperListener);
35 |
36 | chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
37 | if (request.ask == 'refresh') {
38 | const refreshTag = document.createElement('script');
39 | refreshTag.type = 'text/javascript';
40 | refreshTag.innerHTML = 'dataslayer.refresh();';
41 | document.head.appendChild(refreshTag);
42 | } else if (request.ask == 'refreshLaunchDataElements') {
43 | const refreshTag = document.createElement('script');
44 | refreshTag.type = 'text/javascript';
45 | refreshTag.innerHTML = 'dataslayer.loadLaunchDataElements();';
46 | document.head.appendChild(refreshTag);
47 | }
48 | });
49 | if (document.getElementById('dataslayer_script') === null) {
50 | var dataslayers = document.createElement('script');
51 | dataslayers.id = 'dataslayer_script';
52 | dataslayers.src = chrome.runtime.getURL('content/inject.js');
53 | dataslayers.type = 'text/javascript';
54 | document.head.appendChild(dataslayers);
55 | chrome.storage.local.get(null, function(items) {
56 | if (items.hasOwnProperty('dataLayers')) {
57 | dataslayers.setAttribute('data-layers', items.dataLayers.join(';'));
58 | }
59 |
60 | if (items.hasOwnProperty('updateInterval')) {
61 | dataslayers.setAttribute('data-interval', items.updateInterval);
62 | }
63 |
64 | document.head.appendChild(dataslayers);
65 | });
66 | }
67 | }
68 |
69 |
--------------------------------------------------------------------------------
/dist/content/recorder_content.js:
--------------------------------------------------------------------------------
1 |
2 | var recorder = {
3 | helperListener: function(event) {
4 | if (event.type === 'recorder_message') {
5 | try {
6 | chrome.runtime.sendMessage(event.detail);
7 | } catch (e) {
8 | console.log(e)
9 | }
10 | }
11 | }
12 | };
13 |
14 |
15 | document.addEventListener('recorder_message', recorder.helperListener);
16 |
17 | if (document.getElementById('recorder_script') === null) {
18 | var recorder_inject = document.createElement('script');
19 | recorder_inject.id = 'recorder_script';
20 | recorder_inject.src = chrome.runtime.getURL('content/recorder_inject.js');
21 | recorder_inject.type = 'text/javascript';
22 | document.head.appendChild(recorder_inject);
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/dist/devtools.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/dist/devtools.js:
--------------------------------------------------------------------------------
1 | chrome.devtools.panels.create(
2 | "TAGLAB",
3 | "",
4 | "panel.html"
5 | );
--------------------------------------------------------------------------------
/dist/images/._angle-down-solid.svg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/._angle-down-solid.svg
--------------------------------------------------------------------------------
/dist/images/._step-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/._step-1.png
--------------------------------------------------------------------------------
/dist/images/._step-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/._step-2.png
--------------------------------------------------------------------------------
/dist/images/._step-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/._step-3.png
--------------------------------------------------------------------------------
/dist/images/._why-taglab-web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/._why-taglab-web.png
--------------------------------------------------------------------------------
/dist/images/angle-down-solid.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/dist/images/clear.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/dist/images/collapse.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/dist/images/cross_icon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/dist/images/expand.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/dist/images/icon-128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/icon-128x128.png
--------------------------------------------------------------------------------
/dist/images/icon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/icon-16x16.png
--------------------------------------------------------------------------------
/dist/images/icon-48x48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/icon-48x48.png
--------------------------------------------------------------------------------
/dist/images/import.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/dist/images/logo - Copie.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/logo - Copie.png
--------------------------------------------------------------------------------
/dist/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/logo.png
--------------------------------------------------------------------------------
/dist/images/pause.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/dist/images/record.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/dist/images/regex_icons/._11.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/._11.webp
--------------------------------------------------------------------------------
/dist/images/regex_icons/._inspectlet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/._inspectlet.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/._qubitopentag.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/._qubitopentag.webp
--------------------------------------------------------------------------------
/dist/images/regex_icons/._salesforce.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/._salesforce.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/11.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/11.webp
--------------------------------------------------------------------------------
/dist/images/regex_icons/154.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/154.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/Adobe_Analytics_1epQelI.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/Adobe_Analytics_1epQelI.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/Adobe_Audience_Manager.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/Adobe_Audience_Manager.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/Adobe_Audience_Manager_IfpvyPf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/Adobe_Audience_Manager_IfpvyPf.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/Adobe_Audience_Manager_U003ytE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/Adobe_Audience_Manager_U003ytE.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/Adobe_Launch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/Adobe_Launch.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/Bing Ads.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/dist/images/regex_icons/GA4_KS5yZoV.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/GA4_KS5yZoV.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/GTM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/GTM.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/Google Ads.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/dist/images/regex_icons/Google Analytics.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/dist/images/regex_icons/Piwik_vPynUfs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/Piwik_vPynUfs.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/Quantcast-Logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/Quantcast-Logo.jpg
--------------------------------------------------------------------------------
/dist/images/regex_icons/Tealium.png:
--------------------------------------------------------------------------------
1 | BlobNotFound
The specified blob does not exist.
2 | RequestId:c4faf6c9-a01e-0050-3e6c-740acf000000
3 | Time:2024-03-12T10:59:48.9260853Z
--------------------------------------------------------------------------------
/dist/images/regex_icons/Tealium_1qu2F0v.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/Tealium_1qu2F0v.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/Tealium_DShQxXC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/Tealium_DShQxXC.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/Tealium_EcWNvAl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/Tealium_EcWNvAl.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/Tealium_ptQ7pYl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/Tealium_ptQ7pYl.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/adobe analytics.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/dist/images/regex_icons/adobe_analytics.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/dist/images/regex_icons/bing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/bing.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/bing_ads.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/dist/images/regex_icons/clarity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/clarity.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/doubleclick.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/doubleclick.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/facebook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/facebook.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/facebook.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/dist/images/regex_icons/facebook_7r6aCSk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/facebook_7r6aCSk.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/google_ads.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/google_ads.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/google_ads.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/dist/images/regex_icons/google_analytics.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/dist/images/regex_icons/google_analytics_UA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/google_analytics_UA.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/hotjar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/hotjar.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/hotjar.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/dist/images/regex_icons/inspectlet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/inspectlet.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/inspectlet.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/dist/images/regex_icons/linkedin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/linkedin.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/mixpanel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/mixpanel.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/qubitopentag.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/qubitopentag.webp
--------------------------------------------------------------------------------
/dist/images/regex_icons/salesforce.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/salesforce.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/salesforce_Cv5RT9e.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/salesforce_Cv5RT9e.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/salesforce_mjLo2MG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/salesforce_mjLo2MG.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/salesforce_oBENcdj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/salesforce_oBENcdj.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/salesforce_zNae3ar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/salesforce_zNae3ar.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/tiktok.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/tiktok.webp
--------------------------------------------------------------------------------
/dist/images/regex_icons/twitter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/twitter.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/wordpress.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/wordpress.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/yahoo.png:
--------------------------------------------------------------------------------
1 | BlobNotFound
The specified blob does not exist.
2 | RequestId:54ffe169-d01e-0065-066c-7466db000000
3 | Time:2024-03-12T10:59:52.0991083Z
--------------------------------------------------------------------------------
/dist/images/regex_icons/yahoo_zlelQfh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/yahoo_zlelQfh.png
--------------------------------------------------------------------------------
/dist/images/regex_icons/youtube.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/regex_icons/youtube.png
--------------------------------------------------------------------------------
/dist/images/save.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/dist/images/settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/settings.png
--------------------------------------------------------------------------------
/dist/images/step-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/step-1.png
--------------------------------------------------------------------------------
/dist/images/step-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/step-2.png
--------------------------------------------------------------------------------
/dist/images/step-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/step-3.png
--------------------------------------------------------------------------------
/dist/images/why-taglab-web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/dist/images/why-taglab-web.png
--------------------------------------------------------------------------------
/dist/js/popup.js.LICENSE.txt:
--------------------------------------------------------------------------------
1 | /*!
2 | * Vue.js v2.7.16
3 | * (c) 2014-2023 Evan You
4 | * Released under the MIT License.
5 | */
6 |
7 | /*!
8 | * jQuery JavaScript Library v3.7.1
9 | * https://jquery.com/
10 | *
11 | * Copyright OpenJS Foundation and other contributors
12 | * Released under the MIT license
13 | * https://jquery.org/license
14 | *
15 | * Date: 2023-08-28T13:37Z
16 | */
17 |
18 | /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
19 |
20 | /*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com */
21 |
22 | /**
23 | * @license
24 | * Lodash
25 | * Copyright OpenJS Foundation and other contributors
26 | * Released under MIT license
27 | * Based on Underscore.js 1.8.3
28 | * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
29 | */
30 |
--------------------------------------------------------------------------------
/dist/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "TAGLAB - Analytics & Datalayer Console Viewer",
3 | "version": "1.3.4",
4 | "description": "Inspect & QA analytics tags, marketing tags, conversion pixels, and data layer variables for data auditing and tag monitoring.",
5 | "permissions": ["storage", "activeTab", "scripting", "management"],
6 | "devtools_page": "devtools.html",
7 | "icons": {
8 | "16": "images/icon-16x16.png",
9 | "48": "images/icon-48x48.png",
10 | "128": "images/icon-128x128.png"
11 | },
12 | "incognito": "split",
13 | "background": { "service_worker": "service_worker.js" },
14 | "manifest_version": 3,
15 | "action": {
16 | "default_icon": "images/icon-48x48.png",
17 | "default_title": "TAGLAB",
18 | "default_popup": "popup/popup.html"
19 | },
20 | "content_security_policy": {
21 | "extension_pages": "script-src 'self'; object-src 'self'; script-src-elem 'self' 'unsafe-inline' "
22 | },
23 | "web_accessible_resources": [
24 | {
25 | "resources": ["content/inject.js", "content/recorder_inject.js"],
26 | "matches": ["https://*/*"]
27 | }
28 | ],
29 | "host_permissions": ["http://*/", "https://*/", ""]
30 | }
31 |
--------------------------------------------------------------------------------
/dist/panel.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | TAGLAB
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/dist/popup.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | TAGLAB
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/dist/popup/popup.css:
--------------------------------------------------------------------------------
1 | body {
2 | width: 420px;
3 | padding: 0;
4 | margin: 0;
5 | }
6 |
7 | .logo-wrapper {
8 | width: 100%;
9 | display: flex;
10 | justify-content: center;
11 | align-items: center;
12 | padding: 0.5rem 0 0.5rem 0;
13 | position: sticky;
14 | top: 0;
15 | background-color: #fff;
16 | z-index: 9;
17 | }
18 |
19 | .content {
20 | padding: 0.5rem;
21 | background-color: #f6f6f6;
22 | display: flex;
23 | flex-direction: column;
24 | gap: 1rem;
25 | }
26 |
27 | ._detail {
28 | display: flex;
29 | justify-content: center;
30 | font-size: medium;
31 | font-weight: 400;
32 | }
33 | .instruction {
34 | background-color: rgba(44, 161, 72, 0.13);
35 | border-radius: 0.5rem;
36 | padding: 0 1rem 1rem 1rem;
37 | display: flex;
38 | flex-direction: column;
39 | align-items: center;
40 | justify-content: center;
41 | }
42 |
43 | .step {
44 | background-color: #2ca148;
45 | color: #fff;
46 | font-weight: 800;
47 | font-size: large;
48 | padding: 0.5rem;
49 | border-radius: 0 0 0.5rem 0.5rem;
50 | }
51 |
--------------------------------------------------------------------------------
/dist/popup/popup.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | TAGLAB
7 |
8 |
9 |
10 |

11 |
12 |
13 |
Follow the steps below to start debugging
14 |
15 |
Step - 1
16 |

17 |
18 |
19 |
Step - 2
20 |

24 |
Click on this arrow
25 |
26 |
27 |
Step - 3
28 |
31 |

32 |
Click on "TAGLAB" to activate the service worker
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/images/._angle-down-solid.svg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/._angle-down-solid.svg
--------------------------------------------------------------------------------
/images/angle-down-solid.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/clear.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/images/collapse.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/images/cross_icon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/expand.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/images/icon-128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/icon-128x128.png
--------------------------------------------------------------------------------
/images/icon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/icon-16x16.png
--------------------------------------------------------------------------------
/images/icon-48x48-off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/icon-48x48-off.png
--------------------------------------------------------------------------------
/images/icon-48x48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/icon-48x48.png
--------------------------------------------------------------------------------
/images/import.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/images/logo - Copie.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/logo - Copie.png
--------------------------------------------------------------------------------
/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/logo.png
--------------------------------------------------------------------------------
/images/pause.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/record.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/images/regex_icons/11.png:
--------------------------------------------------------------------------------
1 | BlobNotFound
The specified blob does not exist.
2 | RequestId:b277d370-201e-0071-086c-742eb4000000
3 | Time:2024-03-12T11:00:01.0271101Z
--------------------------------------------------------------------------------
/images/regex_icons/154.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/154.png
--------------------------------------------------------------------------------
/images/regex_icons/Adobe_Analytics_1epQelI.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/Adobe_Analytics_1epQelI.png
--------------------------------------------------------------------------------
/images/regex_icons/Adobe_Audience_Manager.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/Adobe_Audience_Manager.png
--------------------------------------------------------------------------------
/images/regex_icons/Adobe_Audience_Manager_IfpvyPf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/Adobe_Audience_Manager_IfpvyPf.png
--------------------------------------------------------------------------------
/images/regex_icons/Adobe_Audience_Manager_U003ytE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/Adobe_Audience_Manager_U003ytE.png
--------------------------------------------------------------------------------
/images/regex_icons/Adobe_Launch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/Adobe_Launch.png
--------------------------------------------------------------------------------
/images/regex_icons/Bing Ads.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/regex_icons/GA4_KS5yZoV.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/GA4_KS5yZoV.png
--------------------------------------------------------------------------------
/images/regex_icons/GTM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/GTM.png
--------------------------------------------------------------------------------
/images/regex_icons/Google Ads.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/regex_icons/Google Analytics.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/regex_icons/Piwik_vPynUfs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/Piwik_vPynUfs.png
--------------------------------------------------------------------------------
/images/regex_icons/Quantcast-Logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/Quantcast-Logo.jpg
--------------------------------------------------------------------------------
/images/regex_icons/Tealium.png:
--------------------------------------------------------------------------------
1 | BlobNotFound
The specified blob does not exist.
2 | RequestId:c4faf6c9-a01e-0050-3e6c-740acf000000
3 | Time:2024-03-12T10:59:48.9260853Z
--------------------------------------------------------------------------------
/images/regex_icons/Tealium_1qu2F0v.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/Tealium_1qu2F0v.png
--------------------------------------------------------------------------------
/images/regex_icons/Tealium_DShQxXC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/Tealium_DShQxXC.png
--------------------------------------------------------------------------------
/images/regex_icons/Tealium_EcWNvAl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/Tealium_EcWNvAl.png
--------------------------------------------------------------------------------
/images/regex_icons/Tealium_ptQ7pYl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/Tealium_ptQ7pYl.png
--------------------------------------------------------------------------------
/images/regex_icons/adobe analytics.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/regex_icons/adobe_analytics.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/regex_icons/bing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/bing.png
--------------------------------------------------------------------------------
/images/regex_icons/bing_ads.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/regex_icons/clarity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/clarity.png
--------------------------------------------------------------------------------
/images/regex_icons/doubleclick.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/doubleclick.png
--------------------------------------------------------------------------------
/images/regex_icons/facebook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/facebook.png
--------------------------------------------------------------------------------
/images/regex_icons/facebook.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/regex_icons/facebook_7r6aCSk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/facebook_7r6aCSk.png
--------------------------------------------------------------------------------
/images/regex_icons/google_ads.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/google_ads.png
--------------------------------------------------------------------------------
/images/regex_icons/google_ads.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/regex_icons/google_analytics.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/regex_icons/google_analytics_UA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/google_analytics_UA.png
--------------------------------------------------------------------------------
/images/regex_icons/hotjar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/hotjar.png
--------------------------------------------------------------------------------
/images/regex_icons/hotjar.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/regex_icons/inspectlet-icon.png:
--------------------------------------------------------------------------------
1 | BlobNotFound
The specified blob does not exist.
2 | RequestId:6e35fbbb-f01e-0010-516c-740df7000000
3 | Time:2024-03-12T10:59:26.1408834Z
--------------------------------------------------------------------------------
/images/regex_icons/inspectlet.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/regex_icons/linkedin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/linkedin.png
--------------------------------------------------------------------------------
/images/regex_icons/mixpanel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/mixpanel.png
--------------------------------------------------------------------------------
/images/regex_icons/salesforce.png:
--------------------------------------------------------------------------------
1 | BlobNotFound
The specified blob does not exist.
2 | RequestId:bec16e92-701e-0021-5e6c-74ece4000000
3 | Time:2024-03-12T11:00:12.3648983Z
--------------------------------------------------------------------------------
/images/regex_icons/salesforce_Cv5RT9e.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/salesforce_Cv5RT9e.png
--------------------------------------------------------------------------------
/images/regex_icons/salesforce_mjLo2MG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/salesforce_mjLo2MG.png
--------------------------------------------------------------------------------
/images/regex_icons/salesforce_oBENcdj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/salesforce_oBENcdj.png
--------------------------------------------------------------------------------
/images/regex_icons/salesforce_zNae3ar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/salesforce_zNae3ar.png
--------------------------------------------------------------------------------
/images/regex_icons/tiktok.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/tiktok.webp
--------------------------------------------------------------------------------
/images/regex_icons/twitter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/twitter.png
--------------------------------------------------------------------------------
/images/regex_icons/wordpress.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/wordpress.png
--------------------------------------------------------------------------------
/images/regex_icons/yahoo.png:
--------------------------------------------------------------------------------
1 | BlobNotFound
The specified blob does not exist.
2 | RequestId:54ffe169-d01e-0065-066c-7466db000000
3 | Time:2024-03-12T10:59:52.0991083Z
--------------------------------------------------------------------------------
/images/regex_icons/yahoo_zlelQfh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/yahoo_zlelQfh.png
--------------------------------------------------------------------------------
/images/regex_icons/youtube.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/regex_icons/youtube.png
--------------------------------------------------------------------------------
/images/save.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/images/settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/settings.png
--------------------------------------------------------------------------------
/images/why-taglab-web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Codeboy0127/chrome_extension_tagdetect/af159af0b77b3f6c59f520169e0ce750c42b4074/images/why-taglab-web.png
--------------------------------------------------------------------------------
/lifecycle.txt:
--------------------------------------------------------------------------------
1 | IMPORTANT FOR V3:
2 | https://developer.chrome.com/docs/extensions/migrating/to-service-workers/#register-listeners
3 | https://developer.chrome.com/docs/extensions/migrating/to-service-workers/#persist-states
4 |
5 | Service worker:
6 | service_worker js captures and stores the tabId locally
7 | service_worker opens popup.html in a new window
8 |
9 | Popup.vue:
10 | popup.vue is created and mounted
11 | on mounted popup.vue gets the tabId from localstorage
12 | tabId is fed into captureXHR
13 | captureXHR listns to webrequests urls and compares them to a regexlist
14 | if a match is found the tag is pushed onto an object
15 |
16 |
17 |
18 | What we need soo far:
19 | - add and sync regex lists
20 | - record events such as page load and user clicks
21 | - keep track of the number of pages visited and the number of times a regex is found across pages
22 |
23 | OFFSCREEN: https://developer.chrome.com/docs/extensions/reference/offscreen/
24 | WEB NAVIGATION: https://developer.chrome.com/docs/extensions/reference/webNavigation/
25 | FIXES:
26 | - Always call sendResponse() inside chrome.runtime.onMessage.
27 | - Vet for all incoming traffic. They have to come from either the relevant tab or extension
28 |
29 | Exceptions to be handled
30 | -Form validation
31 | -Tag Vierwer should only start capturing when at least one regex is present
32 | -Disable regex fields while catpuring ?
33 | -Handle feld playback commands
34 |
35 | A)Bugs
36 | Tags aren't recorded on the first pages while crawling or scenario processing(sometimes)
37 | Content scripts are being injected as many times as the extension is loaded...
38 |
39 | B)Missing Features!!!
40 | Exporting data
41 | get click events for tags and dl
42 | count the unique instances of a regex of all pages
43 | pause unpause inspection(will open new tab if old one was lost)
44 |
45 | C)Quality of life features
46 | Tag Viewer:
47 | Add ignore regex in settings
48 | Add icons ? (could be more trouble than it's worth)
49 | Add Count unique instances of each regex for each page
50 | have add regex as a modal
51 |
52 | Crawler:
53 | Maybe close the crawling window even on pause (could mean a loss of data though..)
54 |
55 | Add a minimum and maximum timeout for crawling each page
56 | add custom jsobject tags
57 | add csv export
58 | remove any listeners on record/playback and Crawler
59 | add scenario indicator for pass/fail
--------------------------------------------------------------------------------
/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "TAGLAB - Analytics & Datalayer Console Viewer",
3 | "version": "1.3.4",
4 | "description": "Inspect & QA analytics tags, marketing tags, conversion pixels, and data layer variables for data auditing and tag monitoring.",
5 | "permissions": ["storage", "activeTab", "scripting"],
6 | "devtools_page": "devtools.html",
7 | "icons": {
8 | "16": "images/icon-16x16.png",
9 | "48": "images/icon-48x48.png",
10 | "128": "images/icon-128x128.png"
11 | },
12 | "incognito": "split",
13 | "background": { "service_worker": "service_worker.js" },
14 | "manifest_version": 3,
15 | "action": {
16 | "default_icon": "images/icon-48x48.png",
17 | "default_title": "TAGLAB",
18 | "default_popup": "popup/popup.html"
19 | },
20 | "content_security_policy": {
21 | "extension_pages": "script-src 'self'; object-src 'self'; script-src-elem 'self' 'unsafe-inline' "
22 | },
23 | "web_accessible_resources": [
24 | {
25 | "resources": ["content/inject.js", "content/recorder_inject.js"],
26 | "matches": ["https://*/*"]
27 | }
28 | ],
29 | "host_permissions": ["http://*/", "https://*/", ""]
30 | }
31 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "private": true,
3 | "scripts": {
4 | "local": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --env=local --config=node_modules/laravel-mix/setup/webpack.config.js",
5 | "staging": "cross-env NODE_ENV=staging node_modules/webpack/bin/webpack.js --progress --env=staging --config=node_modules/laravel-mix/setup/webpack.config.js",
6 | "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --env=production --config=node_modules/laravel-mix/setup/webpack.config.js",
7 | "dev": "npm run local",
8 | "prod": "npm run production",
9 | "watch": "npm run local -- --watch"
10 | },
11 | "devDependencies": {
12 | "cross-env": "^7.0.3",
13 | "laravel-mix": "^6.0.11",
14 | "postcss": "^8.2.13",
15 | "sass": "^1.32.5",
16 | "sass-loader": "^10.1.1",
17 | "vue": "^2.7.14",
18 | "vue-loader": "^15.10.1",
19 | "vue-template-compiler": "^2.6.12"
20 | },
21 | "dependencies": {
22 | "file-saver": "^2.0.5",
23 | "jquery": "^3.6.4",
24 | "lodash": "^4.17.21",
25 | "vue-json-component": "^0.4.1",
26 | "xlsx": "^0.18.5"
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/panel.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | TAGLAB
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/popup/popup.css:
--------------------------------------------------------------------------------
1 | body {
2 | width: 420px;
3 | padding: 0;
4 | margin: 0;
5 | }
6 |
7 | .logo-wrapper {
8 | width: 100%;
9 | display: flex;
10 | justify-content: center;
11 | align-items: center;
12 | padding: 0.5rem 0 0.5rem 0;
13 | position: sticky;
14 | top: 0;
15 | background-color: #fff;
16 | z-index: 9;
17 | }
18 |
19 | .content {
20 | padding: 0.5rem;
21 | background-color: #f6f6f6;
22 | display: flex;
23 | flex-direction: column;
24 | gap: 1rem;
25 | }
26 |
27 | ._detail {
28 | display: flex;
29 | justify-content: center;
30 | font-size: medium;
31 | font-weight: 400;
32 | }
33 | .instruction {
34 | background-color: rgba(44, 161, 72, 0.13);
35 | border-radius: 0.5rem;
36 | padding: 0 1rem 1rem 1rem;
37 | display: flex;
38 | flex-direction: column;
39 | align-items: center;
40 | justify-content: center;
41 | }
42 |
43 | .step {
44 | background-color: #2ca148;
45 | color: #fff;
46 | font-weight: 800;
47 | font-size: large;
48 | padding: 0.5rem;
49 | border-radius: 0 0 0.5rem 0.5rem;
50 | }
51 |
--------------------------------------------------------------------------------
/popup/popup.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | TAGLAB
7 |
8 |
9 |
10 |

11 |
12 |
13 |
Follow the steps below to start debugging
14 |
15 |
Step - 1
16 |

17 |
18 |
19 |
Step - 2
20 |

24 |
Click on this arrow
25 |
26 |
27 |
Step - 3
28 |
31 |

32 |
Click on "TAGLAB" to activate the service worker
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/webpack.mix.js:
--------------------------------------------------------------------------------
1 | let mix = require('laravel-mix');
2 |
3 | mix.setPublicPath('./')
4 | .sass('assets/sass/popup.scss', 'dist/css')
5 | .js('assets/js/service_worker.js', 'dist/')
6 | .js('assets/js/popup.js', 'dist/js').vue()
7 | .copy('assets/images/', 'dist/images')
8 | .options({
9 | processCssUrls: false
10 | });
--------------------------------------------------------------------------------