Magnetic Window Cleaner
Magnetic Window Cleaner
Magnetic Window Cleaner
Magnetic Window Cleaner
Magnetic Window Cleaner
Magnetic Window Cleaner
Magnetic Window Cleaner
Magnetic Window Cleaner
1/8
Magnetic Window Cleaner
Magnetic Window Cleaner
Magnetic Window Cleaner
Magnetic Window Cleaner
Magnetic Window Cleaner
Magnetic Window Cleaner
Magnetic Window Cleaner
Magnetic Window Cleaner
1/8

Magnetic Window Cleaner

$38.95
$69.90
Save $30.95
Quantity
SKU:
Weight: 0kg
Barcode:

✔️ 1-Year Product Warranty

✔️ 45-Day Free Returns

✔️ Original Retail Package

✔️ Free worldwide shipping 

🔥 79% of customers buy 2 or more 🔥

Are You Tired Of Wringing Your Neck Every Time You Want To Clean Your Windows On Both Sides? With The Magnetic Window Cleaner, Cleaning Windows Is Much Easier, Faster, And Safer!


The Magnetic Window Cleaner is your new cleaning essential! You'll forget your troubles on cleaning your windows both from the inside and outside.

This Magnetic Window Cleaner cleans your windows simultaneously inside and outside. The principle is simple: with its strong magnets, you can glide the second cleaner from the outside without sticking your hand out from the second-floor window.

Product Specifications:

Specifications:

  • Product Dimensions:9.2 x 2 x 3.1 inches.
  • Item Weight: Around 13.4 ounces.
  • 1.97 x 2.56 x 9.05 inches

Package includes:

  • 1 x Magnetic Window Cleaner
  • 1 x Plastic Separator to protect the squeegees while not in use
  • 2 x Cloth Rags
  • 1 x Manual

        Our Risk-Free 30 Day Guarantee

        • Worldwide Express Shipping Available.
        • Ship within 24 Hours after Payment with Traceable Tracking Number for Each Order.
        • Easy Return, Fast Refund, 100% Money Back Guarantee.
        • We truly believe that a good shopping experience makes our customers return to us.
        • We want you to be happy and satisfied, therefore, we offer a Risk-Free 30 Days Guarantee to exchange or refund your money.

        • If you do not have a positive experience for ANY REASON,we will do WHATEVER it takes to make sure you are 100% satisfied with your purchase. 
        • Buying items online can be a daunting task, so we want you to realize that there is absolutely ZERO RISK in buying something and trying it out.If you don't like it, no hard feelings we'll make it right.
        • We have 24/7 Tickets and Email Support. Please contact us if you need any assistance.
          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.