Shower Hair Catcher, Hair Collector for Shower Wall, Adhesion Easy to Install Silicone Hair Catcher
Shower Hair Catcher, Hair Collector for Shower Wall, Adhesion Easy to Install Silicone Hair Catcher
Shower Hair Catcher, Hair Collector for Shower Wall, Adhesion Easy to Install Silicone Hair Catcher
Shower Hair Catcher, Hair Collector for Shower Wall, Adhesion Easy to Install Silicone Hair Catcher
Shower Hair Catcher, Hair Collector for Shower Wall, Adhesion Easy to Install Silicone Hair Catcher
Shower Hair Catcher, Hair Collector for Shower Wall, Adhesion Easy to Install Silicone Hair Catcher
Shower Hair Catcher, Hair Collector for Shower Wall, Adhesion Easy to Install Silicone Hair Catcher
Shower Hair Catcher, Hair Collector for Shower Wall, Adhesion Easy to Install Silicone Hair Catcher
7/8
Shower Hair Catcher, Hair Collector for Shower Wall, Adhesion Easy to Install Silicone Hair Catcher
Shower Hair Catcher, Hair Collector for Shower Wall, Adhesion Easy to Install Silicone Hair Catcher
Shower Hair Catcher, Hair Collector for Shower Wall, Adhesion Easy to Install Silicone Hair Catcher
Shower Hair Catcher, Hair Collector for Shower Wall, Adhesion Easy to Install Silicone Hair Catcher
Shower Hair Catcher, Hair Collector for Shower Wall, Adhesion Easy to Install Silicone Hair Catcher
Shower Hair Catcher, Hair Collector for Shower Wall, Adhesion Easy to Install Silicone Hair Catcher
Shower Hair Catcher, Hair Collector for Shower Wall, Adhesion Easy to Install Silicone Hair Catcher
Shower Hair Catcher, Hair Collector for Shower Wall, Adhesion Easy to Install Silicone Hair Catcher
7/8

Shower Hair Catcher, Hair Collector for Shower Wall, Adhesion Easy to Install Silicone Hair Catcher

$14.99
$0.00
Save $-14.99
ColorBlue
Please select a color
Quantity
SKU: 14:173
Weight: 0kg
Barcode:

Eliminate clogged drains and messy tangles in the shower with our Shower Hair Catcher! Its adhesive installation is simple and it is crafted from gentle silicone, so it's easy on your surfaces. Try it in your bathtub too for ultimate convenience!

This Silicone Hair Catcher offers a simple setup process that requires no tools or extra holes in the shower wall. Its strong adhesion provides secure attachment for hassle-free collection of hair in the shower, keeping the drain clog-free and the space neat and tidy.

Customer Reviews

Here are what our customers say.

Write a Review
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.