From 38b042763c1b6c26553dfcb0bdf7301ab23f9e15 Mon Sep 17 00:00:00 2001 From: Akamaru Date: Tue, 4 Nov 2025 19:21:17 +0100 Subject: [PATCH] Neu: DonCarne: Produkt-Klicks Fix --- README.md | 14 +++++++++++++ doncarne-product-click-fix.user.js | 32 ++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 doncarne-product-click-fix.user.js diff --git a/README.md b/README.md index 2858742..899706c 100644 --- a/README.md +++ b/README.md @@ -154,6 +154,20 @@ Lädt ChatGPT Audio-Antworten herunter. Wenn du auf "Vorlesen" klickst, erschein --- +### 9. `doncarne-product-click-fix.user.js` + +**Beschreibung:** +Behebt nicht funktionierende Produkt-Klicks auf doncarne.de, wenn das Clerk.io Click-Tracking durch Adblocker blockiert wird. + +**Funktionen:** +- Fängt Klicks auf Produkte ab, bevor Clerk.io's Tracking-Handler sie blockiert +- Stellt normale Browser-Navigation zu Produktseiten wieder her +- Event-Handler in Capture-Phase läuft vor Clerk.io's Event-Handlern +- Funktioniert automatisch auch für dynamisch geladene Produkte +- Keine Abhängigkeit von Tracking-APIs + +--- + ## Übersicht der enthaltenen UserStyles ### 1. `myanimelist-tweaks.user.css` diff --git a/doncarne-product-click-fix.user.js b/doncarne-product-click-fix.user.js new file mode 100644 index 0000000..ea6aeba --- /dev/null +++ b/doncarne-product-click-fix.user.js @@ -0,0 +1,32 @@ +// ==UserScript== +// @name DonCarne: Produkt-Klicks Fix +// @namespace https://git.ponywave.de/Akamaru/Userscripts +// @version 1.0 +// @description Umgeht blockiertes Clerk.io Click-Tracking und stellt normale Navigation wieder her +// @author Akamaru +// @match https://doncarne.de/* +// @grant none +// @updateURL https://git.ponywave.de/Akamaru/Userscripts/raw/branch/master/doncarne-product-click-fix.user.js +// @downloadURL https://git.ponywave.de/Akamaru/Userscripts/raw/branch/master/doncarne-product-click-fix.user.js +// ==/UserScript== + +(function() { + 'use strict'; + + // Event-Handler in Capture-Phase - läuft VOR Clerk.io's Event-Handlern + document.addEventListener('click', function(event) { + // Finde das geklickte Element oder einen Parent-Link + let target = event.target.closest('a[data-clerk-click-tracking-added="true"]'); + + if (target && target.href) { + // Stoppe alle Event-Propagation und Default-Verhalten + event.preventDefault(); + event.stopPropagation(); + event.stopImmediatePropagation(); + + // Navigiere direkt zur URL, ohne auf Clerk.io Tracking zu warten + window.location.href = target.href; + } + }, true); // true = Capture-Phase (vor Bubbling-Phase, wo Clerk.io's Handler läuft) + +})();