2.9 oz travel bottles,(5Pack) BPA Free And TSA Approved Leakproof Silicon Travel Containers,Refillable Squeezable Cosmetic Toiletry Container Set For Shampoo Liquids,Lotion

2.9 oz travel bottles,(5Pack) BPA Free And TSA Approved Leakproof Silicon Travel Containers,Refillable Squeezable Cosmetic Toiletry Container Set For Shampoo Liquids,Lotion

$12.99
$25.00
Save $12.01
500 sold
Color : Multi-Colored(5-Pack)
Quantity
people are viewing this right now
Description
  • ♥【Leak Proof Design】:cosytime travel bottle is made of soft silicone and high quality plastic. With the design of the inner leak-proof silicone layer and outside leakproof plastic cover layer, It can realized nearly 100% leak-proof, the liquid outlet on the silicone layer will be completely sealed with a slight squeeze after use,combine with the leakproof plastic cover layer, there will no liquid leaks even under normal extrusion
  • ♥【TSA Approved&BPA Free】: The capacity of this portable travel container is 3 ounces, which was TSA approved and can meet most of your travel storage needs,made of BPA Free silicone, resuable,soft,safe and travel essential
  • ♥【Beautiful Shape&Safe Material】:The cosmetic toiletry container has a beautiful shape design,it is practical and affordable as a gift to your friends or at commerical use,made of 100% BPA Free material, it is safe,soft and comfortable to touch
  • ♥【Easy to Fill/Squeeze/Clean】: This 2.9 oz mini leak-free tsa travel bottle is easy to clean and refill due to its large opening. it is also squeezable, soft, reliable and strong. They are available in a variety of colors to make it easy to distinguish the contents of cosmetic containers. you can easily clean these durable extruded travel tube kits by soaking them in warm soapy water, and it is easy to use small brush to clean the inside of the tube
  • ♥【Used Widely, Travel must】The portable travel size toiletries set is perfect for business or personal travel, activity, camping, cruises, outdoors, gym,etc.It is also a best travelling gift for your girlfriend, wife, and family. If you are not satisfied with our travel bottle for any reason, simply email us via the order,we will do our best to help your solve the problem

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.