2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
1/15
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
2 in 1 Glass Oil Sprayer & Dispenser
1/15

2 in 1 Glass Oil Sprayer & Dispenser

$15.99
$0.00
Save $-15.99
ColorGreen
Please select a color
Quantity
Over $49.99 Free Shipping
30-day Zero-risk Return
100% Customer Satisfaction
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.
✨Experience the convenience of our ingenious 2-in-1 kitchen tool - a space-saving oil dispenser that combines spraying and pouring, making cooking a breeze! 💞

null

Features:

  • 🌟Versatile Kitchen Tool: Our 2 in 1 Oil Dispenser and Sprayer combines the features of an oil dispenser and vinegar sprayer to cater to all your cooking needs. Its wide bottle mouth design removes the need for a funnel, ensuring ease of use.

null

  • ✨Safe and Durable Material: Crafted from high-quality, BPA-free glass that is odorless, ensuring safe and healthy food preparation. The thickened glass ensures durability which is ideal for both indoor and outdoor use.

null

  • 💕Multifunctional Use: Not just a simple oil dispenser, this tool is perfect for dispensing cooking oil, vinegar, soy sauce, and other essential kitchen liquids. It's suitable for various uses such as grilling, preparing salads, baking, watering houseplants, and even cleaning.

null

  • 🌷Efficient Oil Control: A simple thumb press on the pump produces 0.2 ml of spray at a time, allowing you to evenly cover your food and pot, thereby controlling the amount of oil used during cooking efficiently.

null

Specification:

  • Material: Polypropylene, Glass,Stainless steel
  • Capacity:470 ml
  • Size:

null

Package included

  • 1*(2 in 1 Glass Oil Sprayer & Dispenser)