Toilet Bowl Cleaning Block
Toilet Bowl Cleaning Block
Toilet Bowl Cleaning Block
Toilet Bowl Cleaning Block
Toilet Bowl Cleaning Block
Toilet Bowl Cleaning Block
Toilet Bowl Cleaning Block
Toilet Bowl Cleaning Block
Toilet Bowl Cleaning Block
Toilet Bowl Cleaning Block
Toilet Bowl Cleaning Block
Toilet Bowl Cleaning Block
Toilet Bowl Cleaning Block
Toilet Bowl Cleaning Block
Toilet Bowl Cleaning Block
Toilet Bowl Cleaning Block

Toilet Bowl Cleaning Block

Price
$29.99
$18.99
Save  37%
Content
Please select a content
Quantity
Please select a quantity
Quantity
Worldwide shipping
Free returns
24/7 customer support
Secure payments

Description

The Toilet Bowl Cleaning Block is a powerful and efficient cleaning product designed to keep your toilet bowl sparkling clean and free of dirt, grime, and bacteria. The block is easy to use and can be used on a variety of surfaces, including porcelain, ceramic, and stainless steel. It is designed to break down and remove tough stains, eliminate odors, and leave your toilet bowl looking and smelling fresh and clean. The Toilet Bowl Cleaning Block is a must-have for anyone looking for a safe and effective way to keep their bathroom clean and hygienic.

Key Features

POWERFUL CLEANING

Toilet bowl cleaning block is designed to break down and remove stubborn stains, dirt and grime from the toilet bowl. Its powerful cleaning action penetrates deep into the surface of the toilet bowl, leaving it sparkling clean and bacteria and odor free. Newly upgraded formula for effective and continuous self-cleaning toilet bowl. Phosphorus-free formula is non-damaging to the rear tank and non-corrosive to the drain.

SAFE & NON-TOXIC

No color loss, no residue. Eco-friendly no-tear water-soluble film takes care of your hands. The toilet cleaning block is made from safe and non-toxic ingredients, making it ideal for families with children and pets. It also contains no harsh chemicals, so you can be sure that it won't damage your toilet or harm the environment.

EASY TO USE

The toilet bowl cleaning block is easy to use and requires no scrubbing or flushing. Simply place the cleaning block in the toilet bowl and let it do its job. The block will dissolve on its own, leaving your toilet clean and free of dirt, dust and bacteria. There are 4 capsules in each box, and 1 capsule will keep your toilet clean and fragrant for 120 days.

LONG LASTING

Made with a concentrated liquid that cleans more than just the surface of the toilet wall. It dissolves evenly without staining the walls and cleans deeply to sweep away plumbing bacteria. With a lifespan of up to four months, the Toilet Cleaning Block is an economical way to keep your toilet clean and fresh.

HOW TO USE

Step 1: Remove one cleaning block

Step 2: Do not remove the water-soluble film from the block.

Step 3: Open the toilet tank lid and throw in the block, keeping it away from the spout to avoid clogging.

Step 4: Wait 15 minutes and press the flush button to get the scent.

Specification

Content: 50g*4 / 0.11lb*4

Package Includes

Toilet Bowl Cleaning Block*1

Notes

1. Please allow 2-3cm error due to manual measurement. Please make sure you do not mind before purchasing.

2. Color may not appear as exactly as in real life due to variations between the computer monitors.

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.