Multipurpose Oxalic Acid Stain Removal Cleaner
Multipurpose Oxalic Acid Stain Removal Cleaner
Multipurpose Oxalic Acid Stain Removal Cleaner
Multipurpose Oxalic Acid Stain Removal Cleaner
Multipurpose Oxalic Acid Stain Removal Cleaner
Multipurpose Oxalic Acid Stain Removal Cleaner
Multipurpose Oxalic Acid Stain Removal Cleaner
Multipurpose Oxalic Acid Stain Removal Cleaner
Multipurpose Oxalic Acid Stain Removal Cleaner
Multipurpose Oxalic Acid Stain Removal Cleaner
Multipurpose Oxalic Acid Stain Removal Cleaner
Multipurpose Oxalic Acid Stain Removal Cleaner
Multipurpose Oxalic Acid Stain Removal Cleaner
Multipurpose Oxalic Acid Stain Removal Cleaner
Multipurpose Oxalic Acid Stain Removal Cleaner
Multipurpose Oxalic Acid Stain Removal Cleaner
Multipurpose Oxalic Acid Stain Removal Cleaner
Multipurpose Oxalic Acid Stain Removal Cleaner
Multipurpose Oxalic Acid Stain Removal Cleaner
Multipurpose Oxalic Acid Stain Removal Cleaner

Multipurpose Oxalic Acid Stain Removal Cleaner

Price
$20.00
$9.99
Save  $10.01
Quantity
Please select a quantity
Quantity
Worldwide shipping
Free returns
24/7 customer support
Secure payments

Restore Your Toilet's Sparkling Cleanliness

 

Achieve a gleaming, stain-free toilet with our Multipurpose Oxalic Acid Stain Removal Cleaner. This powerful and versatile cleaner is specifically formulated to eliminate tough stains, mineral deposits, and rust marks, leaving your toilet bowl sparkling and sanitary.

 

FEATURES

OXALIC ACID FORMULA: The cleaner contains oxalic acid, a potent stain remover that effectively dissolves and lifts stubborn toilet stains, such as rust, hard water deposits, mineral buildup, urine, and more.

MULTIPURPOSE CLEANING: In addition to toilet bowls, this cleaner can be used on various bathroom surfaces, including sinks, tiles, floors, glass doors, basins, toilet glaze, and mirror, making it a versatile solution for your bathroom cleaning needs.

EASY APPLICATION: The user-friendly design allows for easy and precise application under the rim and inside the bowl, ensuring thorough coverage for effective stain removal.

SAFE AND EFFECTIVE: Despite its potent cleaning power, this oxalic acid cleaner is safe to use when following instructions and precautions, ensuring that it won't harm your surfaces.

FRESH FRAGRANCE: Enjoy a clean and refreshing fragrance that leaves your bathroom smelling pleasant after each use.

SPECIFICATION

Net: 300ml

PACKAGE INCLUDES

1 * Multipurpose Oxalic Acid Stain Removal Cleaner

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.