Enjoy Free Express Shipping On Orders Over $39
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
1 / 18
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)
26% OFF
mysite

✨HOT SALE💕2 in 1 Glass Oil Sprayer & Dispenser🔥(Buy 2 Get 10% OFF)

$19.99 $26.99
0 sold
Color(🔥BUY MORE SAVE MORE🔥)
Qty 999 in stock
  • 🔥In Stock>> Priority is given to delivery after payment.
  • 🏆Returns>> Fast refund with a money-back guarantee.
  • ⏰Shipping time>> Priority is given to delivery after payment.
  • 🚢Shipping>> We'll arrange the fastest shipping for you.

🎁💐Don't forget to get some for your family and friends as it's a unique gift idea.

This week's special event: Randomly selected 20 lucky customers to get double the order product every day. We will send you an email, please remember to check, thanks for your support❤️❤️

✅ Guaranteed! GoogleTrusted Store!
🛒 Payments Via PayPal® and CreditCard

🔥15895 sold in last 24 hours🔥
🔥99.2% of Reviewers Recommends This Product.🔥


✨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! 💞

undefined

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.

undefined

  • ✨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.

undefined

  • 💕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.

undefined

  • 🌷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.

undefined

Specification:

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

undefined

Package included

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

Note:

  • Please allow slight measurement deviations due to manual measurement.
  • Due to the different monitor and light effect, the actual color of the item might be slightly different from the color showed in the pictures.

⭐OUR GUARANTEE⭐

📦 Insured Worldwide Shipping: Each order includes real-time tracking details and insurance coverage in the unlikely event that a package gets lost or stolen in transit.

✉️ 24/7 Customer Support: We have a team of live reps ready to help and answer any questions you have within a 24-hour time frame, 7 days a week. Please contact us should you need assistance.

🔒 Safe & Secure Checkouts: Safe payments via PayPal® & credit/debit card, Keep your personal and financial information 100% protected.

class SpzSmartBlockComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this.i18n_ = {}; this.config_ = {}; this.show_type_ = 3; this.product_resource_id_ = ''; this.collection_resource_id_ = ''; this.cart_items_ = []; this.customer_id_ = ''; this.order_id_ = ''; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { const template_type = window.SHOPLAZZA.meta.page.template_type; if (template_type === 1) { this.show_type_ = 3; this.product_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 2) { this.show_type_ = 4; this.collection_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 15){ this.show_type_ = 5; } else if (template_type === 13){ this.show_type_ = 6; } else if (template_type === 20){ this.show_type_ = 7; this.customer_id_ = window.SHOPLAZZA.customer.customer_id; } else if (template_type === 35){ this.show_type_ = 8; this.order_id_ = window.location.pathname.split('/').pop(); } this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { console.log('appzebu smart mounted'); const that = this; const themeName = window.SHOPLAZZA.theme.merchant_theme_name; const isGeek = /Geek/.test(themeName); this.fetchRules().then((res) => { if (res && res.rules && res.rules.length) { const blockEl = document.getElementById('smart_recommend_block'); SPZ.whenApiDefined(blockEl).then((api) => { api.render({data: res}, true).then(() => { if (isGeek && that.show_type_ === 6) { blockEl.querySelector('.plugin_container_wrpper').style.padding = '30px 0'; } const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` .plugin__recommend_container,.app-recommend-card { display: none !important; } `; document.head.appendChild(recommendStyle); const fetchList = []; res.rules.forEach((rule) => { fetchList.push(this.fetchRuleProductList(rule.id)); }); const fetchAll = Promise.all(fetchList); fetchAll.then((p_res) => { res.rules.forEach((rule, index) => { rule.products = p_res[index] && p_res[index].products; const ruleEl = document.getElementById('smart_recommend_rule_' + rule.id); SPZ.whenApiDefined(ruleEl).then((api) => { api.render({data: rule}, true).then(() => { that.impressListen(`#smart_recommend_rule_ul_${rule.id}`, function(){ that.trackRuleImpress(rule); }); const btnElList = document.querySelectorAll(`#smart_recommend_rule_ul_${rule.id} button`); btnElList.forEach((btnEl) => { if (btnEl && rule.config && rule.config.quick_shop_button_bg_color && rule.config.quick_shop_button_text_color) { btnEl.style.backgroundColor = rule.config.quick_shop_button_bg_color; btnEl.style.color = rule.config.quick_shop_button_text_color; } }) }); }); }); }); }) }) } else { if (window.top !== window.self) { const template_type = window.SHOPLAZZA.meta.page.template_type; const holderEl = document.getElementById('smart_recommend_preview_no_data_placeholder'); SPZ.whenApiDefined(holderEl).then((api) => { api.render({data: { isCart: template_type === 13, isCollection: template_type === 2, isProduct: template_type === 1, isIndex: template_type === 15 }}, true); }); } } }); } setAction_() { this.registerAction('quickShop', (data) => { const that = this; const product_id = data.args.product_id; const productIndex = data.args.productIndex; const rule_id = data.args.rule_id; const ssp = data.args.ssp; const scm = data.args.scm; const cfb = data.args.cfb; const ifb = data.args.ifb; const modalRender = document.getElementById('smart_recommend_product_modal_render'); if (product_id) { this.fetchProductData(product_id).then((res) => { const product = res.products && res.products.length && res.products[0] || {}; product.cfb = cfb; product.ifb = ifb; SPZ.whenApiDefined(modalRender).then((api) => { api.render({product: product, productIndex: productIndex, rule_id: rule_id, ssp: ssp, scm: scm, show_type: that.show_type_}, true).then(() => { const modalEl = document.getElementById('smart_recommend_product_modal'); SPZ.whenApiDefined(modalEl).then((modal) => { that.impressListen('#smart_recommend_product_modal', function(){ that.trackQuickShop({ rule_id: rule_id, product_id: product_id }); }); modal.open(); }); const formEl = document.getElementById('smart_recommend_product_form'); SPZ.whenApiDefined(formEl).then((form) => { form.setProduct(product); }); const variantEl = document.getElementById('smart_recommend_product_variants'); SPZ.whenApiDefined(variantEl).then((variant) => { variant.handleRender(product); }); }); }) }); } }); this.registerAction('handleScroll', (data) => { this.directTo(data.args.rule_id, data.args.direction); }); this.registerAction('handleProductChange', (data) => { const variant = data.args.data.variant; const product = data.args.data.product; const imageRenderEl = document.getElementById('smart_recommend_product_image'); SPZ.whenApiDefined(imageRenderEl).then((api) => { api.render({ variant: variant, product: product }, true); }); }); this.registerAction('handleAtcSuccess', (detail) => { const data = detail.args; data.data.product = data.data.product || {}; data.data.variant = data.data.variant || {}; const product_id = data.data.product.id; const product_title = data.data.product.title; const variant_id = data.data.variant.id; const price = data.data.variant.price; const rule_id = data.rule_id; const aid = `smart_recommend.${this.show_type_}.${rule_id}`; const ifb = data.data.product.ifb; const cfb = data.data.product.cfb; const ssp = data.ssp; const scm = data.scm; const spm = `smart_recommend_${this.show_type_}.${data.spmIndex}`; const params = { id: product_id, product_id: product_id, number: 1, name: product_title, variant_id: variant_id, childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid: aid, ifb: ifb, cfb: cfb, scm: scm, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, ssp: ssp, } }; this.tranckAddToCart(params); }); this.registerAction('addATCHook', (data) => { const params = data.args; const spm = `smart_recommend_${this.show_type_}.${params.spmIndex}`; this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { aid: `smart_recommend.${this.show_type_}.` + params.rule_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, }, once: true }); }); } tranckAddToCart(detail) { if (window.$) { window.$(document.body).trigger('dj.addToCart', detail); } } fetchRules() { const payload = { show_type: this.show_type_, }; let that = this; if (this.show_type_ === 6) { let line_items = []; return this.fetchCart().then((res) => { if (res && res.cart && res.cart.line_items) { line_items = res.cart.line_items.map((item) => { return { product_id: item.product_id, variant_id: item.variant_id, quantity: item.quantity, price: item.price } }); } payload.line_items = line_items; that.cart_items_ = line_items; return that.fetchRulesRequest(payload); }); } else { if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return this.fetchRulesRequest(payload); } } fetchRulesRequest(payload) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_query", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }); } fetchCart() { return fetch(`/api/cart/cart-select?r=${Math.random().toString(36).slice(-4)}`) .then((res) => { if (res.ok) { return res.json(); } }); } fetchRuleProductList(rule_id) { const payload = { page: 1, limit: 100, fields: ["title", "url", "image", "min_price_variant.price", "min_price_variant.compare_at_price"], rule_id: rule_id, }; if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 6) { payload.line_items = this.cart_items_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); }); } fetchProductData(product_id) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ product_ids: [product_id], fields: [ "images", "options", "min_price_variant", "variants"] }) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); const loadingEl = document.getElementById('smart_recommend_loading'); if (loadingEl) { loadingEl.style.display = 'none'; } }); } getStyle(ele, style) { if (!ele) return; if (window.getComputedStyle) { return window.getComputedStyle(ele)[style]; } return ele.currentStyle[style]; } directTo(id, direction) { const scrollElement = document.getElementById(`smart_recommend_rule_ul_${id}`); const blockWidth = parseInt(this.getStyle(scrollElement, 'width')); const scrollLength = (blockWidth * 0.19 - 12) * 5; const scrollPoint = scrollElement.scrollWidth - scrollElement.clientWidth; if (!scrollElement) return; if (direction === 'left') { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft - scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: Math.max(scrollElement.scrollLeft - scrollLength, 0), behavior: 'smooth' }); } else { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint + 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: scrollElement.scrollLeft >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); } } trackRuleImpress(rule) { if (window.sa && window.sa.track) { window.sa.track("plugin_common", { plugin_name: "upsell", event_type: "impressions", rule_id: rule.id, ssp: rule.ssp, scm: rule.scm, show_type: this.show_type_, support_app_block: window.SHOPLAZZA.theme.support_app_block }); window.sa.track("module_impressions", { aid: `smart_recommend.${this.show_type_}.${rule.id}`, support_app_block: window.SHOPLAZZA.theme.support_app_block }); } } trackQuickShop(data) { window.sa && sa.track && sa.track("plugin_common", { plugin_name: "upsell", event_type: "quick_shop", rule_id: data.rule_id, product_id: data.product_id, show_type: this.show_type_, }); } impressListen(selector, cb) { const el = document.querySelector(selector); const onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el && !el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart-block', SpzSmartBlockComponent);