
Xhorse VVDI MLB-TOOL - VAG 2016+ Key Programmer for Key Tool Plus or VVDI2 (XDMLB0)
const THE_IFRAME_SELECTOR = 'iframe[id^="ytplayer"]'; // matches all iframes with an id that starts with h5p-embed-responsive-item const THE_VIDEO_SELECTOR = 'embed-responsive-item'; // since all videos appear to have the same class you don't need to change this waitForMultipleElements(document, THE_IFRAME_SELECTOR, () => { let ALL_IFRAMES = document.querySelectorAll(THE_IFRAME_SELECTOR); ALL_IFRAMES.forEach(FOUND_IFRAME => { let FOUND_IFRAME_SELECTOR = `#${FOUND_IFRAME.id}`; console.log("FOUND_IFRAME_SELECTOR:", FOUND_IFRAME_SELECTOR) waitForElement(document, FOUND_IFRAME_SELECTOR, () => { waitForVideoElement(FOUND_IFRAME_SELECTOR, THE_VIDEO_SELECTOR, () => { initPageVisibleApi(FOUND_IFRAME_SELECTOR, THE_VIDEO_SELECTOR); }); }); }); }); function waitForMultipleElements(parentEl, selector, callback) { let theInterval = setInterval(() => { console.log('still waiting for all elements: ' + selector); let elements = parentEl.querySelectorAll(selector); if (elements.length) { console.log("elements: " + selector + " exist!"); clearInterval(theInterval); callback(); } }, 1000); } function waitForVideoElement(iframeSelector, videoElementSelector, callback) { let theIframeElement = document.querySelector(iframeSelector); let iframeEl = theIframeElement.contentWindow.document; waitForElement(iframeEl, videoElementSelector, () => { callback() }); } function waitForElement(parentEl, selectorOfElementToWaitFor, callback) { let theInterval = setInterval(() => { console.log("still waiting for " + selectorOfElementToWaitFor); let element = parentEl.querySelector(selectorOfElementToWaitFor); if (element) { console.log(selectorOfElementToWaitFor + " exists!"); clearInterval(theInterval); callback(); } }, 100); } function initPageVisibleApi(iframeSelector, videoSelector) { // This is the same code that builds out the Page Visible API // event listeners. // The only difference is I wrapped it in a function and added // parameters to make it flexible. const iframe = document.querySelector(iframeSelector); const innerDoc = (iframe.contentDocument) ? iframe.contentDocument : iframe.contentWindow.document; const videoElement = innerDoc.querySelector(videoSelector); // Set the name of the hidden property and the change event for visibility var hidden, visibilityChange; if (typeof document.hidden !== "undefined") { // Opera 12.10 and Firefox 18 and later support hidden = "hidden"; visibilityChange = "visibilitychange"; } else if (typeof document.msHidden !== "undefined") { hidden = "msHidden"; visibilityChange = "msvisibilitychange"; } else if (typeof document.webkitHidden !== "undefined") { hidden = "webkitHidden"; visibilityChange = "webkitvisibilitychange"; } // To tell if video has been played yet or not let VIDEO_HAS_BEEN_PLAYED = false; // If the page is hidden, pause the video; // if the page is shown, play the video function handleVisibilityChange() { if (VIDEO_HAS_BEEN_PLAYED) { if (document[hidden]) { videoElement.pause(); } else { videoElement.play(); } } } // Warn if the browser doesn't support addEventListener or the Page Visibility API if (typeof document.addEventListener === "undefined" || hidden === undefined) { alert("This demo requires a browser, such as Google Chrome or Firefox, that supports the Page Visibility API."); } else { // Handle page visibility change document.addEventListener(visibilityChange, handleVisibilityChange, false); // When the video pauses, set the title. // This shows the paused const defaultTitle = document.title; videoElement.addEventListener("pause", function () { document.title = 'Paused - ' + defaultTitle; }, false); // When the video plays, set the title. videoElement.addEventListener("play", function () { VIDEO_HAS_BEEN_PLAYED = true; document.title = 'Playing - ' + defaultTitle; }, false); } } The most popular tool the world to EASILY add keys for the new VW, Audi, Porsche, Lamborghini, Bentley 2016+ 5M System Finally, a solution to the previously dealer-only new Audi systems! From now on, allow your customers to skip the weeks-long wait for Dealer-Keys + exorbitant costs of original software. Now you can provide an unparalleled, instant, safe service as a pioneer in handling these systems with ease. With the Xhorse VVDI MLB-Tool, you won't need to remove the MCU, just calculate data after attaching wires, instantly generate a dealer-key wirelessly, and learn all keys to the car using the Xhorse Key Tool Plus or VVDI2. NEW: MQB48 Addon - TOKEN FREE - No More Dashboard Disassembly! (link) NEW: Xhorse Audi A4/Q5 MLB PCB including 1 FREE TOKEN for data calculation (link) NEW: OEM Shell Splitter for DAMAGE FREE key programming (link) No points required when using VVDI MLB specialized key (FREE CALCULATION) Features ✅ Excel in key adding for MLB models✅ No Need to Remove the Chip✅ Wireless Key Generation for Ultimate Convenience✅ Immo Detection Made Easy✅ Compatilility with Original Keys and Xhorse Specialized Keys✅ Rewrite Uninitialized Key IDs✅ No Need for On-Vehicle Data Collection✅ Works with VVDI2 and VVDI Key Tool Plus (VVDI2 requires VV-05 MQB and VV-02 VAG IMMO5 license activated unless you have the full version)✅ No points required when using VVDI MLB specialized key✅ Software Update online, current version 1.0.3.0✅ Operating system: Win10, Win11✅ VVDI MLB Tool User Manual function toggleNews() { if (document.getElementById("DivNews").style.display == "block") { document.getElementById("DivNews").style.display = "none"; } else { document.getElementById("DivNews").style.display = "block"; } } Supported Vehicles Audi Porsche A4L 2017- Taycan 2019- A5 2017- Panamera 2017- A6L 2019- Panamera New Energy 2017- Q5L 2018- Cayenne 2018- Q7 2016- Cayenne New Energey 2019- A8 2017- 911 2019- RS4 2019- RS5 2019- Bentley RS6 2019- Flying Spur 2020- RS7 2021- Flying Spur Hybrid 2022- RS Q8 2021- Bentayga 2016- A4 2016- Bentayga Hybrid 2019- A5 2017- Continental 2016- S4 2016- S5 2017- VW A7 2019- Touareg 2019- S7 2020- A8 2018- Lamborghini A8 New Energy 2021- Urus 2018- S8 2021- Q7 New Energy 2017- BUY COMPATIBLE KEYS NOW (universal keys release soon) Click here to add keys to cart together with the MLB-Tool itself /**/ Packaging List: 1pc x MLB tool 1pc x MLB cable 1pc x USB type C cable 1pc x OTG adapter 1pc x user manual function toggleNews3() { if (document.getElementById("DivNews3").style.display == "block") { document.getElementById("DivNews3").style.display = "none"; } else { document.getElementById("DivNews3").style.display = "block"; } } Frequently Asked Questions Q. Does this tool need tokens?A. It depends on the key you use. Collect the original key (without Xhorse VVDI MLB remote key), will require 200 points Collect the original key (but have Xhorse VVDI MLB remote key), identify the VVDI key first, and then you can avoid deducting points. (1 VVDI key can only be identified once) Collect the VVDI MLB key, no points are required Q. In what scenarios does it requires tokens?A. 1. When adding keys, points will be deducted to calculate the IMMO data. 2. When doing key recovery, the second-hand key has been initialized and unlocked, but does not have the IMMO data of the key. You need to deduct points to collect and calculate the IMMO data of the key before it can be restored.Q. Does the original key for XHORSE MLB TOOL have to be a brand new one, or can it be a used one?A. For the original key. Here are several occasions. Unlocked, uninitialized, with ID, can generate and learn the key directly Unlocked, uninitialized, but without ID, can change ID for once Unlocked, initialized, can restore key to unlocked, uninitialized, no ID state by calculating anti-theft data Locked, initialized, this original car key cannot be unlocked Q. Is there a manual or vidoes on how to use it?A. Yes, you can have a look at this MLB Tool User Manual EnglishQ. The MLB PC software is only required when using it with VVDI2, right?A. yes, that is right. MLB PC software is needed when used with VVDI2. When using with a KTP, you can use an OTG adapter to connect. Downloads: PC Software (for VVDI2 only - KeyTool Plus has built-in) SOLDER-FREE ADAPTERS AVAILABLE NOW (link) HOW TO USE THE MLB TOOL .rte .video-wrapper{margin-bottom: 0px;margin-top: 0px;} DEVICE UNBOXING