Document
Limited Time Offer
min
00
00
00

buy now

1 Bottle Tackles Multiple Tough Stains Effortlessly
It is widely used in toilets, squatting pans, urinals, sinks, washbasins, tile walls, floors, glass, mirrors, bathtubs, faucets, etc. Great for bathroom and kitchen cleaning, saving you a lot of time and effort.
Toilet
Faucet
Sink
Glass

Strong on Stains

Gentle on Hands & the Planet!

Cruelty-Free
No Phosphorus, Fluorescent agent & Chlorine
Safer Choice
Eco-friendly: Non-ionic surfactant
are easily biodegradable in water, leaving
no harmful residues.

buy now

BATHROOM CLEANER
ECO-FRIENDLY FORMULA, DEEP PENETRATION
Powerful Decontamination:It is a penetrating foam cleaner that easily dissolves grime, stains, grease, soap scum, etc. Makes deep cleaning easier and keeps the bathroom sparkling.

BEFORE

AFTER

BEFORE

AFTER

BEFORE

AFTER

GENTLE AND CLEAN

Poweriul decontamination with long-lasting results

Cleansing care to awaken the radiance ofthe past

Quickly decompose, powerful decontamination

Gentle Ingredients
Non-harmful
100% Safe to Human
Neutral Mild Formula

buy now

BATHROOM CLEANER
Eco-friendly formula, deep penetration.Sweeps away stubborn soap and limescale.Long-lasting protection, removes dirt with-out residue, restores the luster of bathroomproducts
METHOD TO USE

1. Spray the cleaner on the dirt.

2. Spray this product on the stained surface that needs to be cleaned

3.Wait for one minute to start wiping according to the degree of stain.

4. Rinse with clean water, then wipewith a dry towel.

100% Refund Policy

We offer a 100% money-back guarantee within 30 days of receiving any product.Try it out, ifyou're not happy we'll refund your purchase

Buy more, save more!
1 PC
$14.97

BUY NOW

FREE

Most Popular

Buy 2 Get 1 Free
$29.97
$39.98
$9.99 / Pc

BUY NOW

FREE

Best Value

Buy 4 Get 3 Free
$59.97
$79.96
$8.57 / Pc

BUY NOW

FREE

Free Shipping

Buy 6 Get 8 Free
$89.97
$119.94
$6.43 / Pc

BUY NOW

Worldwide shipping
Free returns
24/7 customer support
Secure payments
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.