(function () {
function initializeFeedbackSwap() {
var widgets = document.querySelectorAll('[data-feedback-ssr-widget]');
for (var i = 0; i < widgets.length; i++) {
var widget = widgets[i];
if (widget.getAttribute('data-feedback-swap-initialized') === 'true') {
continue;
}
var serverContent = widget.querySelector('[data-feedback-ssr]');
var clientShell = widget.querySelector('[data-feedback-client-shell]');
if (!clientShell) {
continue;
}
widget.setAttribute('data-feedback-swap-initialized', 'true');
(function (currentWidget, currentServerContent, currentClientShell) {
var observer = null;
var readyReceived = false;
function parseCount() {
var countElement = currentClientShell.querySelector('.feedback-average-count');
var text = countElement ? (countElement.textContent || '') : '';
var match = text.match(/\(\s*(\d+)\s*\)/);
return match ? parseInt(match[1], 10) : null;
}
function clientIsComplete(expectedCount) {
var actualCount = parseCount();
var loading = currentClientShell.querySelector('.loading-hint');
if (actualCount === null || loading) {
return false;
}
if (typeof expectedCount === 'number' && actualCount !== expectedCount) {
return false;
}
return true;
}
function swapToClient(expectedCount) {
if (!readyReceived || !clientIsComplete(expectedCount)) {
return;
}
currentClientShell.style.display = '';
currentClientShell.removeAttribute('aria-hidden');
if (currentServerContent && currentServerContent.parentNode) {
currentServerContent.parentNode.removeChild(currentServerContent);
}
if (observer) {
observer.disconnect();
}
}
currentClientShell.setAttribute('aria-hidden', 'true');
currentClientShell.addEventListener('feedback:client-ready', function (event) {
var detail = event && event.detail ? event.detail : {};
var count = Number(detail.count);
if (!isFinite(count) || count < 0) {
return;
}
readyReceived = true;
swapToClient(count);
});
/*
* Conservative fallback for cached client bundles:
* never reveal the client shell merely because markup exists.
* It must contain a real numeric count and no loading hint.
*/
observer = new MutationObserver(function () {
if (readyReceived) {
swapToClient(parseCount());
}
});
observer.observe(currentClientShell, {
childList: true,
subtree: true,
characterData: true
});
})(widget, serverContent, clientShell);
}
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initializeFeedbackSwap);
} else {
initializeFeedbackSwap();
}
})();
(function () {
function parseReviewCount(shell) {
var countElement = shell.querySelector('.feedback-average-count');
var text = countElement ? (countElement.textContent || '') : '';
var match = text.match(/\(\s*(\d+)\s*\)/);
if (match) {
return parseInt(match[1], 10);
}
if (countElement) {
countElement.textContent = ' (0)';
}
return 0;
}
function updateEmptyState(widget, shell) {
if (!shell) {
return;
}
var count = parseReviewCount(shell);
var isLoading = !!shell.querySelector('.loading-hint');
var stars = shell.querySelector('.feedback-stars-average');
var bars = shell.querySelector('.feedback-bars');
var message = shell.querySelector('.feedback-empty-state');
var row = shell.querySelector('.row.my-2');
var leftColumn = row ? row.querySelector('.col-sm-6') : null;
if (count === 0 && !isLoading) {
if (stars) {
stars.style.display = 'none';
}
if (bars) {
bars.style.display = 'none';
}
if (!message && leftColumn) {
message = document.createElement('p');
message.className = 'feedback-empty-state text-muted mb-0';
message.textContent = widget.getAttribute('data-feedback-empty-state-text') ||
'Für diesen Artikel wurden noch keine Kundenrezensionen verfasst.';
leftColumn.insertBefore(message, leftColumn.firstChild);
}
} else if (count > 0) {
if (stars) {
stars.style.display = '';
}
if (bars) {
bars.style.display = '';
}
if (message && message.parentNode) {
message.parentNode.removeChild(message);
}
}
}
function initializeEmptyStates() {
var widgets = document.querySelectorAll('[data-feedback-ssr-widget]');
for (var i = 0; i < widgets.length; i++) {
var widget = widgets[i];
if (widget.getAttribute('data-feedback-empty-state-initialized') === 'true') {
continue;
}
widget.setAttribute('data-feedback-empty-state-initialized', 'true');
(function (currentWidget) {
var observer = new MutationObserver(function () {
var shell = currentWidget.querySelector('[data-feedback-client-shell]') || currentWidget;
updateEmptyState(currentWidget, shell);
});
observer.observe(currentWidget, {
childList: true,
subtree: true,
characterData: true
});
var shell = currentWidget.querySelector('[data-feedback-client-shell]') || currentWidget;
updateEmptyState(currentWidget, shell);
})(widget);
}
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initializeEmptyStates);
} else {
initializeEmptyStates();
}
})();
{"@context":"https:\/\/schema.org","@type":"Product","@id":"https:\/\/www.mephisto-tools.com\/werkzeugwagen\/big-black-leer_710150#product","name":"Werkzeugwagen PRO Line \"BIG BLACK\" 71015 -ohne Werkzeug-","url":"https:\/\/www.mephisto-tools.com\/werkzeugwagen\/big-black-leer_710150","description":"Hier finden Sie unsere unter anderem Zubeh\u00f6r f\u00fcr Werkzeugwagen von Mephisto und vielf\u00e4ltige Produktoptionen f\u00fcr D.I.Y.IY-Bauprojekte","sku":"71015-Leer","productID":"710150","brand":{"@type":"Brand","name":"Mephisto"},"category":"Werkzeugwagen","image":["https:\/\/images.mephisto-tools.com\/item\/images\/710150\/full\/Werkzeugwagen-Pro-Line--Big-Black--71015--ohne-Werkzeug--710150-Werkzeugwagen-710150-2026-24.jpg","https:\/\/images.mephisto-tools.com\/item\/images\/710150\/full\/Werkzeugwagen-Pro-Line--Big-Black--71015--ohne-Werkzeug--710150-710150-Bildkonzept-2026-01-werkzeugwagen.jpg","https:\/\/images.mephisto-tools.com\/item\/images\/710150\/full\/Werkzeugwagen-PRO-Line--BIG-BLACK--71015--ohne-Werkzeug--710150-710150-Bildkonzept-2026-bea.jpg","https:\/\/images.mephisto-tools.com\/item\/images\/710150\/full\/Werkzeugwagen-Pro-Line--Big-Black--71015--ohne-Werkzeug--710150-710150-Bildkonzept-2026-03-werkzeugwagen.jpg","https:\/\/images.mephisto-tools.com\/item\/images\/710150\/full\/Werkzeugwagen-Pro-Line--Big-Black--71015--ohne-Werkzeug--710150-710150-Bildkonzept-2026-04-werkzeugwagen.jpg","https:\/\/images.mephisto-tools.com\/item\/images\/710150\/full\/Werkzeugwagen-Pro-Line--Big-Black--71015--ohne-Werkzeug--710150-710150-Bildkonzept-2026-05-werkzeugwagen.jpg","https:\/\/images.mephisto-tools.com\/item\/images\/710150\/full\/Pro-Line-Werkzeugwagen-71015--Big-Black---ohne-Werkzeug--710150-Startbilder-40.jpg"],"gtin13":"4251059786087","offers":{"@type":"Offer","@id":"https:\/\/www.mephisto-tools.com\/werkzeugwagen\/big-black-leer_710150#offer","price":"729.00","priceCurrency":"EUR","availability":"https:\/\/schema.org\/InStock","itemCondition":"https:\/\/schema.org\/NewCondition","url":"https:\/\/www.mephisto-tools.com\/werkzeugwagen\/big-black-leer_710150","seller":{"@type":"Organization","name":"Four & More GmbH","@id":"https:\/\/www.mephisto-tools.com\/#organization","url":"https:\/\/www.mephisto-tools.com\/","hasMerchantReturnPolicy":{"@type":"MerchantReturnPolicy","returnPolicyCategory":"https:\/\/schema.org\/MerchantReturnFiniteReturnWindow","merchantReturnDays":14,"returnMethod":"https:\/\/schema.org\/ReturnByMail","returnFees":"https:\/\/schema.org\/ReturnFeesCustomerResponsibility","refundType":"https:\/\/schema.org\/FullRefund","@id":"https:\/\/www.mephisto-tools.com\/#merchant-return-policy","applicableCountry":"DE","returnPolicyCountry":"DE","merchantReturnLink":"https:\/\/www.mephisto-tools.com\/widerrufsrecht\/"}}},"aggregateRating":{"@type":"AggregateRating","ratingValue":5,"reviewCount":2,"bestRating":5,"worstRating":1},"review":[{"@type":"Review","author":{"@type":"Person","name":"Anonymer K\u00e4ufer"},"reviewRating":{"@type":"Rating","ratingValue":5,"bestRating":5,"worstRating":1},"reviewBody":"Bin sehr zufrieden mit dem Werkzeugwagen. Die Verarbeitung ist massiv und die Schubladen laufen butterweich. Dank der gro\u00dfen Rollen l\u00e4sst er sich leicht bewegen, auch wenn er voll beladen ist. Viel Platz f\u00fcr Werkzeug und durch das Schloss alles sicher verstaut.","datePublished":"2025-09-22","name":"Bin zufriden"},{"@type":"Review","author":{"@type":"Person","name":"Max"},"reviewRating":{"@type":"Rating","ratingValue":5,"bestRating":5,"worstRating":1},"reviewBody":"Toller Werkzeugwagen mit robustem Design. Die Verarbeitung ist hochwertig, allerdings h\u00e4tte ich mir noch ein paar mehr F\u00e4cher gew\u00fcnscht.","datePublished":"2024-11-25","name":"Sehr stabil"}]}
Bin zufriden
Bin sehr zufrieden mit dem Werkzeugwagen. Die Verarbeitung ist massiv und die Schubladen laufen butterweich. Dank der großen Rollen lässt er sich leicht bewegen, auch wenn er voll beladen ist. Viel Platz für Werkzeug und durch das Schloss alles sicher verstaut.
Anonymer Käufer