Free shipping worldwide over $50
Invisible Rotatable Air Vent Mount Car Phone Holder
Invisible Rotatable Air Vent Mount Car Phone Holder
Invisible Rotatable Air Vent Mount Car Phone Holder
Invisible Rotatable Air Vent Mount Car Phone Holder
Invisible Rotatable Air Vent Mount Car Phone Holder
Invisible Rotatable Air Vent Mount Car Phone Holder
Invisible Rotatable Air Vent Mount Car Phone Holder
Invisible Rotatable Air Vent Mount Car Phone Holder
Invisible Rotatable Air Vent Mount Car Phone Holder
Invisible Rotatable Air Vent Mount Car Phone Holder
Invisible Rotatable Air Vent Mount Car Phone Holder
6 / 11
Invisible Rotatable Air Vent Mount Car Phone Holder
Invisible Rotatable Air Vent Mount Car Phone Holder
Invisible Rotatable Air Vent Mount Car Phone Holder
Invisible Rotatable Air Vent Mount Car Phone Holder
Invisible Rotatable Air Vent Mount Car Phone Holder
Invisible Rotatable Air Vent Mount Car Phone Holder
Invisible Rotatable Air Vent Mount Car Phone Holder
Invisible Rotatable Air Vent Mount Car Phone Holder
Invisible Rotatable Air Vent Mount Car Phone Holder
Invisible Rotatable Air Vent Mount Car Phone Holder
Invisible Rotatable Air Vent Mount Car Phone Holder
0% OFF

Invisible Rotatable Air Vent Mount Car Phone Holder

$29.99
304 sold
Color
QTY
Qty

With an 360-degree adjustable swivel and foldable bracket , you can rotate your smartphone or device at your own will, providing the best viewing angle.

undefined

Hidden Bracket: The Invisible Rotatable Air Vent Mount Car Phone Holder is a convenient accessory designed to securely hold your smartphone while you’re on the road.

undefined

Advantages:Its invisible design ensures that it blends seamlessly with your car’s interior without obstructing your view.

 with one hand. Closed magnetic field does not affect the signundefined

Uses: This phone holder features a rotatable mechanism, allowing you to adjust the viewing angle of your device for optimal visibility. 

undefined

SPECIFICATIONS

  • Material: Aluminum Alloy +ABS+ Silicone

    For phones: within 4.7-7.2inches

    Advantage: easy to use; automatic locking; invisible;stable

Package Includes:

  • 1 x Invisible Rotatable Air Vent Mount Car Phone Holder
You May Also Like Don't Like These?

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.