Free shipping worldwide over $50
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
13 / 14
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
Window Cleaning Tool with Dual-Head
0% OFF

Window Cleaning Tool with Dual-Head

$19.99
0 sold
Color
Qty

Revolutionizing Your Window Cleaning Experience!

⭐⭐⭐⭐⭐ “I’ve seen a lot of things designed to clean windows, yet none of them is as efficient as this one. You can reach parts of the window you usually couldn’t, but you get two different sides for a great clean, no matter the dirtiness level.”

-Johnny Q.

Superior Cleaning Efficiency

The dual-head design allows you to clean both sides of the window simultaneously, cutting cleaning time in half. With its innovative construction, It ensures thorough cleaning, removing even the most stubborn dirt and grime. The ergonomic handle provides a comfortable grip, reducing strain and fatigue during prolonged cleaning sessions. Its lightweight and manoeuvrable nature make it easy to reach high windows and tight corners with ease.

Streak-Free, Crystal-Clear Results

The specialized microfiber pads effortlessly absorb water and dirt, leaving no streaks or residue behind. It's advanced cleaning technology guarantees crystal-clear windows that enhance the overall appearance of my home. The adjustable head angles allow you to tackle windows of all shapes and sizes, ensuring a consistent, streak-free shine throughout. Thanks to its precision design, It leaves your windows sparkling, enhancing the natural light that enters your living space.

Convenience and Versatility

It is not limited to windows alone! You can use it on glass surfaces, mirrors, shower doors, and even car windows, making it a versatile cleaning tool for your entire home. Its easy-to-use mechanism allows for quick pad replacement, ensuring uninterrupted cleaning sessions without any hassle. The durable construction of it guarantees long-lasting performance, providing you with a reliable tool that withstands repeated use. The compact design and detachable components make storage and maintenance a breeze, saving you valuable space and time.

Features

✔Dual-head design for simultaneous cleaning

✔Specialized microfiber pads for streak-free results

✔Adjustable head angles for versatile cleaning

You May Also Like Don't Like These?

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.