├── .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 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Vanilla Test/assets/images/collapse.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 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 | 5 | Svg Vector Icons : http://www.onlinewebfonts.com/icon 6 | 7 | -------------------------------------------------------------------------------- /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 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Vanilla Test/assets/images/regex_icons/11.png: -------------------------------------------------------------------------------- 1 | BlobNotFoundThe 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 | BlobNotFoundThe 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 | BlobNotFoundThe 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 | BlobNotFoundThe 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 | BlobNotFoundThe 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 | 2 | 3 | 4 | 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 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/collapse.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/cross_icon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/expand.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 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 | 5 | Svg Vector Icons : http://www.onlinewebfonts.com/icon 6 | 7 | -------------------------------------------------------------------------------- /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 | 2 | 3 | 4 | 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 | 2 | 3 | 4 | 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 | 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 | 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 | 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 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /dist/images/collapse.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /dist/images/cross_icon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dist/images/expand.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 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 | 5 | Svg Vector Icons : http://www.onlinewebfonts.com/icon 6 | 7 | -------------------------------------------------------------------------------- /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 | 2 | 3 | 4 | 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 | BlobNotFoundThe 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 | BlobNotFoundThe 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 | 2 | 3 | 4 | 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 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /images/collapse.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /images/cross_icon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /images/expand.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 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 | 5 | Svg Vector Icons : http://www.onlinewebfonts.com/icon 6 | 7 | -------------------------------------------------------------------------------- /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 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /images/regex_icons/11.png: -------------------------------------------------------------------------------- 1 | BlobNotFoundThe 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 | BlobNotFoundThe 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 | BlobNotFoundThe 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 | BlobNotFoundThe 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 | BlobNotFoundThe 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 | 2 | 3 | 4 | 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 | }); --------------------------------------------------------------------------------