{"id":9211,"date":"2023-04-03T12:00:00","date_gmt":"2023-04-03T12:00:00","guid":{"rendered":"https:\/\/senhorcursos.com\/?p=9211"},"modified":"2023-03-30T14:29:26","modified_gmt":"2023-03-30T14:29:26","slug":"recomendador-lingualeo","status":"publish","type":"post","link":"https:\/\/senhorcursos.com\/fr\/recomendador-lingualeo\/","title":{"rendered":"Recomendador Senhor Cursos &#8211; LinguaLeo"},"content":{"rendered":"<!--landing--><div class=\"wp-block-lazyblock-landing-page-variant lazyblock-landing-page-variant-ZFCSNM\"><div id=\"landing\" style=\"\" class=\"mb-40\">\n  <section class=\"text-gray-600 body-font border-gray-200 sm:border-0\">\n    <div style=\"max-width: 850px;\" class=\"sm:pt-6 mx-auto block\">\n      <div class=\"text-center py-3 px-5\">\n        <p data-av-subtitle class=\"leading-relaxed sm:w-3\/4 mx-auto mb-0\">\n          Apprenez \u00e0 apprendre une nouvelle langue de mani\u00e8re ludique avec cette plateforme d&#039;apprentissage des langues        <\/p>\n      <\/div>\n\n              <section id=\"half\" class=\"text-gray-600 body-font border-gray-200 sm:border-0\">\n          <h4 class=\"pt-3 text-center text-gray-900 text-2xl title-font font-medium px-5 mb-12\">\n            LinguaLeo \u2013 Apprenez une autre langue de mani\u00e8re pratique et amusante avec cette application          <\/h4>\n          <div id=\"scs_top_wrapper\" style=\"height:600px;\" align=\"center\" class=\"w-full border-gray-200 border-b mt-8 mb-8 pb-5\">\n    <div align=\"center\" style=\"position: sticky; top: 120px;\" class=\"w-full\">\n                  <p style=\"font-size: 10px;\" class=\"uppercase text-center\">\n            Publicit\u00e9          <\/p>\n                <div id=\"scs_top\" >\n        <\/div>\n    <\/div>\n<\/div>\n          <p class=\"sm:hidden pb-2 text-center sm:text-left leading-relaxed px-5\">\n              LinguaLeo utilise des vid\u00e9os, des podcasts, des jeux et des textes pour enseigner une nouvelle langue \u00e0 ses utilisateurs\u00a0! Cette plateforme vous permet d&#039;apprendre en vous amusant\u00a0! Nous avons cr\u00e9\u00e9 un guide complet pour vous aider \u00e0 mieux comprendre le service et \u00e0 d\u00e9couvrir les langues disponibles. Consultez les informations ci-dessous pour en savoir plus.          <\/p>\n          \n          <div class=\"sm:hidden sm:px-0 py-6 mx-auto px-5\">\n            <div class=\"w-full mx-auto flex flex-wrap\">\n                              <a class=\"mx-auto block\" href=\"https:\/\/senhorcursos.com\/fr\/lingualeo\/\" data-analytics-label=\"landingPageImage\" data-action=\"analytics#trackCTA\">\n                  <img loading=\"lazy\" alt=\"card\" style=\"height: 190px;\" class=\"w-full h-64 object-cover object-center rounded border-gray-100 border-2\" src=\"https:\/\/senhorcursos.com\/wp-content\/uploads\/2023\/03\/image-149.png\">\n                <\/a>\n                                          <div class=\"lg:w-3\/5 w-full lg:pl-6 mt-6 lg:mt-0\">\n                                  <div class=\"flex\">\n                    <a class=\"flex text-white no-underline mt-10 m-auto sm:mr-0 sm:ml-auto\" href=\"https:\/\/senhorcursos.com\/fr\/lingualeo\/\"  data-analytics-label=\"landingPageFirstButton\" data-action=\"analytics#trackCTA\">\n                      <button id=\"landing-first\" class=\"text-white flex m-auto sm:mr-0 sm:ml-auto border-0 py-2 px-8 text-lg focus:outline-none rounded\">\n                        JE VEUX EN SAVOIR PLUS                      <\/button>\n                    <\/a>\n                  <\/div>\n                                      <p class=\"text-xs text-gray-500 mt-3 text-center sm:text-right\">\n                      Je me reposerai sur mon propre site Web                    <\/p>\n                                                                <\/div>\n            <\/div>\n          <\/div>\n          <div class=\"mt-10 h-1 bg-gray-200 rounded overflow-hidden sm:hidden mx-5\">\n            <div class=\"w-24 h-full\"><\/div>\n          <\/div>\n          <div class=\"hidden sm:block sm:px-0 py-6 mx-auto px-5\">\n            <div class=\"w-full py-3 mx-auto flex flex-wrap\">\n                              <img loading=\"lazy\" alt=\"card\" style=\"height: 190px;\" class=\"lg:w-2\/5 w-full h-64 object-cover object-center rounded border-gray-100 border-2\" src=\"https:\/\/senhorcursos.com\/wp-content\/uploads\/2023\/03\/image-149.png\">\n                            \n              <div class=\"lg:w-3\/5 w-full lg:pl-6 mt-6 lg:mt-0\">\n                \n                \n                <p class=\"py-2 text-center sm:text-left leading-relaxed\">\n                  LinguaLeo utilise des vid\u00e9os, des podcasts, des jeux et des textes pour enseigner une nouvelle langue \u00e0 ses utilisateurs\u00a0! Cette plateforme vous permet d&#039;apprendre en vous amusant\u00a0! Nous avons cr\u00e9\u00e9 un guide complet pour vous aider \u00e0 mieux comprendre le service et \u00e0 d\u00e9couvrir les langues disponibles. Consultez les informations ci-dessous pour en savoir plus.                <\/p>\n                <div class=\"flex mt-6 items-center pb-5 border-b-2 border-gray-100 mb-5\">\n                <\/div>\n                                  <div class=\"flex\">\n                    <a class=\"flex text-white no-underline mt-10 m-auto sm:mr-0 sm:ml-auto\" href=\"https:\/\/senhorcursos.com\/fr\/lingualeo\/\"  data-analytics-label=\"landingPageFirstButton\" data-action=\"analytics#trackCTA\">\n                      <button id=\"landing-first\" class=\"text-white flex m-auto sm:mr-0 sm:ml-auto border-0 py-2 px-8 text-lg focus:outline-none rounded\">\n                        JE VEUX EN SAVOIR PLUS                      <\/button>\n                    <\/a>\n                  <\/div>\n                                      <p class=\"text-xs text-gray-500 mt-3 text-center sm:text-right\">\n                      Je me reposerai sur mon propre site Web                    <\/p>\n                                                                <\/div>\n            <\/div>\n          <\/div>\n        <\/section>\n      \n      <p class=\"text-center leading-relaxed sm:w-3\/4 mx-auto my-10 px-5\">\n        D\u00e9couvrez quelques-uns des points positifs du t\u00e9l\u00e9chargement de cette application\u00a0:      <\/p>\n            <div class=\"flex flex-wrap sm:w-full sm:mx-auto sm:mb-2 px-5\">\n        <div class=\"p-2 sm:w-1\/2 w-full\">\n          <div class=\"bg-gray-100 rounded flex p-4 h-full items-center\">\n            <svg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"3\" class=\"w-6 h-6 flex-shrink-0 mr-4\" viewbox=\"0 0 24 24\">\n              <path d=\"M22 11.08V12a10 10 0 11-5.93-9.14\"><\/path>\n              <path d=\"M22 4L12 14.01l-3-3\"><\/path>\n            <\/svg>\n            <span class=\"title-font font-medium text-left\">\n              Plusieurs langues            <\/span>\n          <\/div>\n        <\/div>\n        <div class=\"p-2 sm:w-1\/2 w-full\">\n          <div class=\"bg-gray-100 rounded flex p-4 h-full items-center\">\n            <svg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"3\" class=\"w-6 h-6 flex-shrink-0 mr-4\" viewbox=\"0 0 24 24\">\n              <path d=\"M22 11.08V12a10 10 0 11-5.93-9.14\"><\/path>\n              <path d=\"M22 4L12 14.01l-3-3\"><\/path>\n            <\/svg>\n            <span class=\"title-font font-medium text-left\">\n              M\u00e9thode ludique            <\/span>\n          <\/div>\n        <\/div>\n        <div class=\"p-2 sm:w-1\/2 w-full\">\n          <div class=\"bg-gray-100 rounded flex p-4 h-full items-center\">\n            <svg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"3\" class=\"w-6 h-6 flex-shrink-0 mr-4\" viewbox=\"0 0 24 24\">\n              <path d=\"M22 11.08V12a10 10 0 11-5.93-9.14\"><\/path>\n              <path d=\"M22 4L12 14.01l-3-3\"><\/path>\n            <\/svg>\n            <span class=\"title-font font-medium text-left\">\n              Inscription rapide            <\/span>\n          <\/div>\n        <\/div>\n        <div class=\"p-2 sm:w-1\/2 w-full\">\n          <div class=\"bg-gray-100 rounded flex p-4 h-full items-center\">\n            <svg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"3\" class=\"w-6 h-6 flex-shrink-0 mr-4\" viewbox=\"0 0 24 24\">\n              <path d=\"M22 11.08V12a10 10 0 11-5.93-9.14\"><\/path>\n              <path d=\"M22 4L12 14.01l-3-3\"><\/path>\n            <\/svg>\n            <span class=\"title-font font-medium text-left\">\n              Version gratuite            <\/span>\n          <\/div>\n        <\/div>\n      <\/div>\n      \n              <div class=\"mx-5\" data-anchor-target=\"lazyBlock\">\n          <a class=\"text-white no-underline\"  href=\"https:\/\/senhorcursos.com\/fr\/lingualeo\/\" data-analytics-label=\"landingPageSecondButton\" data-action=\"analytics#trackCTA\">\n            <button id=\"landing-second\" class=\"flex mx-auto mt-16 border-0 py-2 px-8 focus:outline-none rounded text-lg\">\n              JE VEUX EN SAVOIR PLUS            <\/button>\n          <\/a>\n        <\/div>\n                          <p class=\"text-xs text-gray-500 mt-3 text-center\">\n            Je me reposerai sur mon propre site Web          <\/p>\n                        <\/div>\n  <\/section>\n\n    <script type=\"module\"> function waitFor(conditionFunction) { const poll = resolve => { if(conditionFunction()) resolve(); else setTimeout(_ => poll(resolve), 400); }; return new Promise(poll); } import { Application, Controller } from \"\/wp-content\/themes\/twentytwentyone\/assets\/js\/stimulus.min.js\"; let Stimulus = Application.start(); Stimulus.register(\"anchor\", class extends Controller { static get targets() { return [ \"lazyBlock\", \"lazyBlockAnchor\" ]; } initialize() { this.active = false; this.passed = false; this.closed = false; this.anchorViews = 0; this.boundOnShowAnchor = this.onShowAnchor.bind(this); window.anchorReady = window.anchorReady || false; waitFor(_ => (window.scrollY > this.getHeightBlock() && !this.active)) .then(_ => { !window.anchorReady? this.visible() : ''; window.anchorReady = true; }); if (document.getElementById('landing')) { setTimeout(() => { !window.anchorReady ? this.visible() : ''; window.anchorReady = true; }, 1 * 30000); }; } connect() { this.onShowAnchor(); document.addEventListener(\"scroll\", this.boundOnShowAnchor); } disconnect() { document.removeEventListener(\"scroll\", this.boundOnShowAnchor); } visible() { if (document.getElementById('av-offerwall__wrapper')) { setTimeout(() => this.visible(), 20000); return; } if (document.getElementById('av-fixed__bottomWrapper') && document.getElementById('av-fixed__bottomWrapper').style.display !== 'none' && document.getElementById('av-fixed__bottomWrapper').getBoundingClientRect().height > 100) { setTimeout(() => this.visible(), 1000); return; } if (document.getElementById('av-fixed__bottomWrapper') && document.getElementById('av-fixed__bottomWrapper').style.display !== 'none' && document.getElementById('av-fixed__bottomWrapper').getBoundingClientRect().height > 10) { this.getAnchorElement().style.marginBottom = '60px'; } if (document.querySelector('[data-anchor-shown=\"true\"]') && document.querySelector('[data-anchor-shown=\"true\"]').style.bottom === '0px') { setTimeout(() => this.visible(), 1000); return; } if (!window.km2AnchorReady) { this.active = true; \/*this.getAnchorElement().style.animation = \"none\"; this.getAnchorElement().classList.remove('animate-show-down');*\/ \/*this.getAnchorElement().classList.add('animate-show-up');*\/ \/*setTimeout(() => {*\/ \/*this.getAnchorElement().style.animation = \"\";*\/ this.getAnchorElement().classList.add('animate-show-up'); this.getAnchorElement().classList.remove('hidden'); this.setAnchorViews(this.anchorViews+1); setTimeout(() => this.closeAnchor(), 20000); waitFor(_ => (document.getElementById('av-fixed__bottomWrapper') && document.getElementById('av-fixed__bottomWrapper').style.display !== 'none' && document.getElementById('av-fixed__bottomWrapper').getBoundingClientRect().height > 10 && this.getAnchorElement().style.marginBottom !== '60px')) .then(_ => { this.closeAnchor(); }); this.active = false; \/*}, 10);*\/ } } invisible() { this.active = true; this.getAnchorElement().style.animation = \"none\"; this.getAnchorElement().classList.remove('animate-show-up'); this.getAnchorElement().classList.add('animate-show-down'); setTimeout(() => { this.getAnchorElement().style.animation = \"\"; setTimeout(() => { this.getAnchorElement().classList.add('hidden'); this.active = false; }, 800); }, 10); } onShowAnchor() { let anchorReady = false;  \/*if (!this.active && !anchorReady) { if (this.getAnchorViews() <= 3) { if (window.scrollY > this.getHeightBlock()) { if (!this.passed && !this.closed) { this.visible(); this.passed = true; } } else { if (this.passed) { this.invisible(); this.passed = false; } } } else { if (!this.getAnchorElement().classList.contains('close')) { this.getAnchorElement().classList.add('close'); if (window.scrollY < this.getHeightBlock()) { this.invisible(); } } } }*\/ } closeAnchor() { if (this.closed) return; this.invisible(); this.getAnchorElement().classList.add('close'); this.closed = true; } getAnchorElement() { return this.lazyBlockAnchorTargets[0]; } getAnchorViews() { this.anchorViews = parseInt(sessionStorage.getItem(\"anchorViews\")) >= 1 ? parseInt(sessionStorage.getItem(\"anchorViews\")) : 0; return this.anchorViews; } setAnchorViews(views) { sessionStorage.setItem(\"anchorViews\", views); } getHeightBlock() { return this.lazyBlockTarget.offsetTop + this.lazyBlockTarget.offsetHeight - 110; } }) <\/script>  <div data-anchor-target=\"lazyBlockAnchor\" class=\"fixed w-full sm:w-96 px-3 py-2 bottom-0 left-0 hidden\" style=\"z-index: 999999;\" name=\"lazyBlockAnchor\">\n    <div class=\"grid justify-items-stretch\">        \n              <div class=\"relative justify-self-end top-4 -right-2\">\n          <button data-no-translation class=\"bg-white text-md font-medium text-center rounded-full h-7 w-7 border-2\" data-analytics-label=\"anchorCloseAnchor\" data-action=\"anchor#closeAnchor\" style=\"z-index: 999999;\">\n            X\n          <\/button>\n        <\/div>\n        <div class=\"w-full justify-self-start flex flex-col h-32 bg-white border-solid border-2 shadow-md rounded-md\">\n          <div class=\"mx-2 h-1\/2\">\n            <p class=\"px-5 text-center pt-3 text-xs\">\n              LinguaLeo \u2013 Apprenez une autre langue de mani\u00e8re pratique et amusante avec cette application            <\/p>\n          <\/div>\n          <div class=\"mx-2 mt-1 bottom-0 h-1\/2\">\n            <a class=\"w-full m-auto\" href=\"https:\/\/senhorcursos.com\/fr\/lingualeo\/\"  data-analytics-label=\"anchorButton\" data-action=\"analytics#trackCTA\" >\n              <button class=\"flex m-auto border-0 py-2 px-6 focus:outline-none rounded text-center text-sm\">\n                Continuer la lecture              <\/button>\n            <\/a>\n            <p class=\"text-gray-500 text-center mt-1\" style=\"font-size: 0.50rem;\">\n              Je me reposerai sur mon propre site Web  \n            <\/p>\n          <\/div>\n        <\/div>\n          <\/div>\n  <\/div>\n\n  <link rel=\"prefetch\" href=\"https:\/\/senhorcursos.com\/lingualeo\/\">\n  <link rel=\"prerender\" href=\"https:\/\/senhorcursos.com\/lingualeo\/\">\n\n  <link rel=\"prefetch\" href=\"https:\/\/senhorcursos.com\/aplicativos-para-aprender-idiomas-gratuitos\/\">\n  <link rel=\"prerender\" href=\"https:\/\/senhorcursos.com\/aplicativos-para-aprender-idiomas-gratuitos\/\">\n\n  <div style=\"margin-top: 100px;\">\n     <script type=\"module\"> function waitFor(conditionFunction) { const poll = resolve => { if(conditionFunction()) resolve(); else setTimeout(_ => poll(resolve), 400); }; return new Promise(poll); } import { Application, Controller } from \"\/wp-content\/themes\/twentytwentyone\/assets\/js\/stimulus.min.js\"; import { Typos } from \"\/wp-content\/themes\/twentytwentyone\/assets\/js\/typos.js\"; import { phoneNumberMask, writeEmailOptions } from \"\/wp-content\/themes\/twentytwentyone\/assets\/js\/commons.js\"; let Stimulus = Application.start(); Stimulus.register(\"quiz\", class extends Controller { static get targets() { return [ \"quiz\", \"body\", \"block\", \"footer\", \"pane\", \"email\", \"name\", \"phone\", \"phoneField\", \"checkbox\", \"overlay\", \"submit\", \"unloader\", \"loader\", \"tooltip\", \"tip\", \"emailOptions\", \"formBox\", \"formData\", \"formMessage\", \"formBoxBackGround\", \"formTitle\", \"soi\", \"successMessage\", \"emailDiv\", \"phoneDiv\", \"nameDiv\", \"soiDiv\", \"skipper\", \"trigger\", \"link\", \"cta\", \"footnote\" ] } static get values() { return { showhighlight: Boolean }; } replaceAll(string, search, replace) { return string.split(search).join(replace); } initialize() { this.index = 0; this.formViews = 0; this.mode = 'email'; this.showContentForm = this.getViewEmailForm() || this.getViewPhoneForm() || this.getViewPushForm(); if (this.showContentForm) { this.showedHighlight = false; this.inProcessAnimate = false; } this.conditions = []; this.country = \"\"; this.phoneMaskOptions = { 'br': {\"areaCod\": \"+55\", \"areaCodSpace\": 2, \"dddSpace\": 2, \"prefixoSpace\": 4, \"prefixoSpace2\": 5, \"sufixoSpace\": 4, \"placeHolder\": \"(XX) XXXX-XXXX\" }, 'us': {\"areaCod\": \"+1\", \"areaCodSpace\": 1, \"dddSpace\": 3, \"prefixoSpace\": 3, \"sufixoSpace\": 4, \"placeHolder\": \"(XXX) XXX-XXXX\" }, 'ca': {\"areaCod\": \"+1\", \"areaCodSpace\": 1, \"dddSpace\": 3, \"prefixoSpace\": 3, \"sufixoSpace\": 4, \"placeHolder\": \"(XXX) XXX-XXXX\" }, 'pt': {\"areaCod\": \"+351\", \"areaCodSpace\": 3, \"dddSpace\": 3, \"prefixoSpace\": 3, \"sufixoSpace\": 2, \"placeHolder\": \"XXX XXX XXX\" }, 'es': {\"areaCod\": \"+34\", \"areaCodSpace\": 2, \"dddSpace\": 3, \"prefixoSpace\": 3, \"sufixoSpace\": 2, \"placeHolder\": \"XXX XXX XXX\" }, 'mx': {\"areaCod\": \"+52\", \"areaCodSpace\": 2, \"dddSpace\": 3, \"prefixoSpace\": 3, \"sufixoSpace\": 4, \"placeHolder\": \"XXX XXX XXXX\" }, 'ar': {\"areaCod\": \"+54\", \"areaCodSpace\": 2, \"dddSpace\": 2, \"prefixoSpace\": 4, \"sufixoSpace\": 4, \"placeHolder\": \"(XX) XXXX-XXXX\" }, 'co': {\"areaCod\": \"+57\", \"areaCodSpace\": 2, \"dddSpace\": 3, \"prefixoSpace\": 3, \"sufixoSpace\": 4, \"placeHolder\": \"XXX XXX XXXX\" }, 'za': {\"areaCod\": \"+27\", \"areaCodSpace\": 2, \"dddSpace\": 2, \"prefixoSpace\": 3, \"sufixoSpace\": 4, \"placeHolder\": \"(XX) XXX-XXXX\" }, 'de': {\"areaCod\": \"+49\", \"areaCodSpace\": 99, \"dddSpace\": 99, \"prefixoSpace\": 99, \"prefixoSpace2\": 99, \"sufixoSpace\": 99, \"placeHolder\": \"\" }, 'fr': {\"areaCod\": \"+33\", \"areaCodSpace\": 99, \"dddSpace\": 99, \"prefixoSpace\": 99, \"prefixoSpace2\": 99, \"sufixoSpace\": 99, \"placeHolder\": \"\" }, 'gb': {\"areaCod\": \"+44\", \"areaCodSpace\": 99, \"dddSpace\": 99, \"prefixoSpace\": 99, \"prefixoSpace2\": 99, \"sufixoSpace\": 99, \"placeHolder\": \"\" }, 'it': {\"areaCod\": \"+39\", \"areaCodSpace\": 99, \"dddSpace\": 99, \"prefixoSpace\": 99, \"prefixoSpace2\": 99, \"sufixoSpace\": 99, \"placeHolder\": \"\" } }; this.phoneMaskOption = (this.country in this.phoneMaskOptions) ? this.phoneMaskOptions[this.country] : this.phoneMaskOptions['br']; this.phoneTarget.placeholder = this.phoneMaskOption.placeHolder; this.searchParams = new URLSearchParams(window.location.search); this.quiz = this.replaceAll(window.location.pathname, '\/', ''); this.slug = this.quiz.split('-').slice(0, this.quiz.split('-').length - 1).join(''); this.hostname = \"senhorcursos.com\"; let splitOptions = ['a', 'b', 'c', 'd']; this.splitTag = splitOptions[Math.floor(Math.random() * splitOptions.length)]; this.tags = 'quiz='+this.quiz+',host='+this.hostname+',slug='+this.slug+',split='+this.splitTag; if (this.country !== '') { this.tags += `,country=${this.country}`; } this.autocompleted = false; this.emsAccounts = [\n          {\n              'weight': 1.0,\n              'name': '',\n              'list': 1\n          }\n      ]; this.addPhone = false;; this.showForm = false;; this.skipForm = true;; this.showFormFirst = false;; this.triggerInterstitial = false;; this.exitIntent = \"\"; this.paneTargetsLength = this.paneTargets.length; if (!this.getViewEmailForm() && !this.getViewPhoneForm() && this.showFormFirst && this.paneTargetsLength > 1) { this.skip(); } if (!this.getViewAnyForm() && this.showFormFirst && this.paneTargetsLength > 1) { this.skip(); } if (!this.getViewEmailForm() && !this.getViewPhoneForm() && !this.showFormFirst) { this.paneTargetsLength = this.skipForm ? this.paneTargetsLength : this.paneTargetsLength - 1; this.skipForm = true; } if (!this.getViewAnyForm() && !this.showFormFirst) { this.paneTargetsLength = this.skipForm ? this.paneTargetsLength : this.paneTargetsLength - 1; this.skipForm = true; } this.typos = Typos; for (var paramKey of this.searchParams.keys()) { this.tags += paramKey.includes('utm_') ? `,${paramKey}=${this.searchParams.get(paramKey)}` : ''; } if (this.paneTargetsLength === 1 || this.showFormFirst) { this.insertPixels(); this.chooseEmsAccount(); this.chooseConditions(); this.getAnalyticsData(); } !this.skipForm || this.showhighlightValue ? this.manipulateForm() : ''; if (this.showFormFirst) { this.blockTarget.classList.add(\"animate-fade-in\"); this.blockTarget.classList.remove(\"hidden\"); this.enable(); } if (this.exitIntent.includes('http')) { let search = window.location.search; history.replaceState(null, document.title, location.pathname + \"#!\/history\"); history.pushState(null, document.title, location.pathname + search); window.addEventListener(\"popstate\", (function() { window.location.replace(this.exitIntent); }).bind(this), true); } } manipulateForm() {  if (this.getViewPhoneForm() && this.getViewEmailForm()) { this.mode = 'email'; } else if (this.getViewPhoneForm()) { this.mode = 'phone'; this.emailDivTarget.classList.add(\"hidden\"); } else if (this.getViewEmailForm()) { this.mode = 'email'; this.phoneDivTarget.classList.add(\"hidden\"); } else if (this.getViewPushForm()) { this.mode = 'push'; this.phoneDivTarget.classList.add(\"hidden\"); this.emailDivTarget.classList.add(\"hidden\"); this.nameDivTarget.classList.add(\"hidden\"); this.soiDivTarget.classList.add(\"hidden\"); this.enable(); }  } connect() { if (this.showhighlightValue && this.showContentForm && this.getFormViews() <= 1) { if (this.emsAccount === \"\") { const endpoint = \"\"; if (endpoint !== \"\") { fetch(endpoint).then(response => response.json()).then(response => { if ('form-title' in response['content']) { this.emsAccounts = response['content']['accounts']; this.chooseEmsAccount(); this.country = response['content']['country'].toLowerCase(); this.tags += `,country=${this.country}`; this.phoneMaskOption = (this.country in this.phoneMaskOptions) ? this.phoneMaskOptions[this.country] : this.phoneMaskOptions['br']; this.phoneTarget.placeholder = this.phoneMaskOption.placeHolder; this.formTitleTarget.innerHTML = response['content']['form-title']; this.soiTarget.innerHTML = response['content']['soi']; this.submitTarget.innerHTML = response['content']['cta']; this.successMessageTarget.innerHTML = response['content']['success-message']; this.quizTarget.classList.remove('hidden'); this.observerScrollEmailForm(); this.formMessageTarget.style.height = this.paneTarget.offsetHeight + 'px'; this.formMessageTarget.children[0].style.marginTop = 0.4 * this.paneTarget.offsetHeight + 'px'; if (false && 'success-cta' in response['content'] && 'link' in response['content']) { this.linkTarget.classList.remove('hidden'); this.linkTarget.setAttribute('href', response['content']['link']); this.linkTarget.setAttribute('data-href', 'secondary_link' in response['content'] ? response['content']['secondary_link'] : response['content']['link']); this.ctaTarget.innerHTML = response['content']['success-cta']; if (!response['content']['link'].includes('\/\/senhorcursos.com')) { this.footnoteTarget.classList.remove('hidden'); } this.formMessageTarget.children[0].style.marginTop = 0.25 * this.paneTarget.offsetHeight + 'px'; waitFor(_ => (document.cookie.includes(\"avInterstitialViewed=true\"))) .then(_ => { [this.linkTarget].forEach(linkTarget => { if (linkTarget.getAttribute('href') !== linkTarget.getAttribute('data-href')) { linkTarget.setAttribute('href', linkTarget.getAttribute('data-href')); if (!linkTarget.getAttribute('data-href').includes(\"senhorcursos.com\")) { linkTarget.setAttribute('rel', 'nofollow'); } if (!linkTarget.getAttribute('data-href').includes('\/\/senhorcursos.com')) { this.footnoteTarget.classList.remove('hidden'); } } linkTarget.removeAttribute('data-href'); }) }); } if (typeof window.wildcardController === 'object') { window.wildcardController.replaceWildcards(); } }; }).catch((error) => { console.error('Error:', error); }); } } else { this.quizTarget.classList.remove('hidden'); this.observerScrollEmailForm(); this.formMessageTarget.style.height = this.paneTarget.offsetHeight + 'px'; this.formMessageTarget.children[0].style.marginTop = 0.4 * this.paneTarget.offsetHeight + 'px'; } } } readTextFile(file, callback) { var rawFile = new XMLHttpRequest(); rawFile.overrideMimeType(\"application\/json\"); rawFile.open(\"GET\", file, true); rawFile.onreadystatechange = () => { if (rawFile.readyState === 4 && rawFile.status == \"200\") { callback(rawFile.responseText); } }; rawFile.send(null); } next(event) { this.index++; this.showCurrentPane(event); } insertRudderPixel() { if (typeof window.rudderanalytics !== 'object') { var e=window.rudderanalytics=window.rudderanalytics||[]; e.methods=[\"load\",\"page\",\"track\",\"identify\",\"alias\",\"group\",\"ready\",\"reset\",\"getAnonymousId\",\"setAnonymousId\"], e.factory=function(t){ return function(){ var r=Array.prototype.slice.call(arguments); return r.unshift(t), e.push(r),e } }; for(var t=0;t<e.methods.length;t++){ var r=e.methods[t]; e[r]=e.factory(r) } e.loadJS=function(e,t){ var r=document.createElement(\"script\"); r.type=\"text\/javascript\",r.async=!0,r.src=\"https:\/\/cdn.rudderlabs.com\/v2\/rudder-analytics.min.js?transport=beacon\"; var a=document.getElementsByTagName(\"script\")[0];a.parentNode.insertBefore(r,a) }, e.loadJS(), e.load('1qlJXFMeYUmTyucX6KUVQVEjBBM', 'https:\/\/rudder.adtechpanda.com') }; } insertFacebookPixel() { if (typeof window.av?.findTag !== 'undefined') { if (window.av.findTag('fb', '', 'formConversion') !== undefined) return; }  !function(f,b,e,v,n,t,s){ if(f.fbq)return; n=f.fbq=function(){ n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments) }; if(!f._fbq)f._fbq=n; n.push=n; n.loaded=!0; n.version='2.0'; n.queue=[]; t=b.createElement(e); t.async=!0; t.src=v; s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s) }(window, document,'script','https:\/\/connect.facebook.net\/en_US\/fbevents.js'); fbq('set', 'autoConfig', false, \"\"); fbq('init', \"\"); fbq('track', 'PageView');   } insertGooglePixel() {  window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);}; gtag('js', new Date()); gtag('config', \"\", {'allow_enhanced_conversions': true}); window.gtag = gtag; let gogleScript = document.createElement(\"script\"); gogleScript.type = \"text\/javascript\"; gogleScript.setAttribute('async', 'async'); gogleScript.src = \"https:\/\/www.googletagmanager.com\/gtag\/js?id=\"; this.quizTarget.appendChild(gogleScript);   } insertTiktokPixel() {  !function (w, d, t) { w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=[\"page\",\"track\",\"identify\",\"instances\",\"debug\",\"on\",\"off\",\"once\",\"ready\",\"alias\",\"group\",\"enableCookie\",\"disableCookie\"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for(var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var i=\"https:\/\/analytics.tiktok.com\/i18n\/pixel\/events.js\";ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=i,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};var o=document.createElement(\"script\");o.type=\"text\/javascript\",o.async=!0,o.src=i+\"?sdkid=\"+e+\"&#038;lib=\"+t;var a=document.getElementsByTagName(\"script\")[0];a.parentNode.insertBefore(o,a)}; ttq.load(\"\"); ttq.page(); }(window, document, 'ttq');   } insertTaboolaPixel() {  window._tfa = window._tfa || []; window._tfa.push({notify: 'event', name: 'page_view', id: Number(\"\")}); !function (t, f, a, x) { if (!document.getElementById(x)) { t.async = 1;t.src = a;t.id=x;f.parentNode.insertBefore(t, f); } }(document.createElement('script'), document.getElementsByTagName('script')[0], \"\/\/cdn.taboola.com\/libtrc\/unip\/\/tfa.js\", 'tb_tfa_script');   } insertMedianetPixel() {  !function(a, b, c, d, e, f, g) {if(a.ctrk)return;e=a.ctrk=function(){e.runner? e.runner.apply(e,arguments):e.q.push(arguments)}; e.q=[];f=b.createElement(c);f.async=true; f.src=d+'?d='+a.location.hostname;g=b.getElementsByTagName(c)[0]; g.parentNode.insertBefore(f,g);} (window, document,'script','https:\/\/c.pm-srv.co\/v1\/analytics.js'); ctrk('boot', \"\"); ctrk('record', 'page-land', {dnt: false});   } insertPixels() { this.insertRudderPixel(); this.insertFacebookPixel(); this.insertGooglePixel();    } chooseFrom(weights, results) { let num = Math.random(); let s = 0; let lastIndex = weights.length - 1; for (var i = 0; i < lastIndex; ++i) { s += weights[i]; if (num < s) { return results[i]; } } return results[lastIndex]; } chooseEmsAccount() { let emsAccount = this.chooseFrom( this.emsAccounts.map(account => account['weight']), this.emsAccounts ); this.emsAccount = emsAccount['name']; this.emsList = emsAccount['list']; }; prefetchLandingPages() { let link = document.createElement('link'); \/*let fbclid = this.searchParams.get('fbclid') ? '?fbclid=' + this.searchParams.get('fbclid') : ''; let gclid = this.searchParams.get('gclid') ? '?gclid=' + this.searchParams.get('gclid') : '';*\/ for (const condition of this.conditions) { let landingUrl = new URL(condition['link']); let landingPathname = landingUrl.pathname.split('\/').filter(elem => elem).join('-'); let conditionLink = `${condition['link']}`; if (!landingUrl.search) { conditionLink += window.location.search; } if (document.location.pathname[0] === '\/' && document.location.pathname[3] === '\/' && !conditionLink.includes(document.location.pathname.substr(0,3)) && !conditionLink.includes('app.')) { conditionLink = conditionLink.replace(document.location.hostname, document.location.hostname + document.location.pathname.substr(0,3)); } link = document.createElement('link'); link.rel = 'prefetch'; link.href = conditionLink; this.quizTarget.appendChild(link); link = document.createElement('link'); link.rel = 'prerender'; link.href = conditionLink; this.quizTarget.appendChild(link); } } chooseConditions() { this.conditions = []; if (typeof window.wildcardController !== 'undefined') { this.conditions = this.conditions.map(condition => ({ 'answers': condition['answers'], 'link': window.wildcardController.replace( this.chooseFrom( Object.values(condition['links']), Object.keys(condition['links']) ) ) })); } else { this.conditions = this.conditions.map(condition => ({ 'answers': condition['answers'], 'link': this.chooseFrom( Object.values(condition['links']), Object.keys(condition['links']) ) })); } this.prefetchLandingPages(); } showCurrentPane(event) { if (this.skipForm && event?.target !== undefined) { this.tags += `,answer=${event.target.innerText}`; } if (this.showFormFirst && this.index > 1 && event?.target !== undefined) { this.tags += `,answer=${event.target.innerText}`; } if (!this.showFormFirst && this.index <= this.paneTargetsLength - 1) { this.tags += `,answer=${event.target.innerText}`; } if (this.index > this.paneTargetsLength - 1) { this.submit(event); } else { this.paneTargets.forEach((element, index) => { if (index != this.index) { element.classList.add(\"hidden\"); } else { element.classList.remove(\"hidden\"); } }) } if (!this.showFormFirst && this.index === 1 && this.paneTargetsLength > 1) { this.insertPixels(); this.chooseEmsAccount(); this.chooseConditions(); this.getAnalyticsData(); } if (this.showFormFirst && this.index === 1 && this.isValid()) { this.sendForm(false); } if (this.index === this.paneTargetsLength - 1) { this.enable(); } } match(value, regexp) { const validationRegexp = (regexp instanceof RegExp ? regexp : (new RegExp(regexp))); return validationRegexp.test(value); } emptyInput(target) { target.classList.remove('border-red-700'); target.classList.remove('focus:ring-red-200'); target.classList.remove('border-green-700'); target.classList.remove('focus:ring-green-200'); target.classList.add('border-gray-300'); target.classList.add('focus:ring-gray-200'); } goodInput(target) { target.classList.remove('border-red-700'); target.classList.remove('focus:ring-red-200'); target.classList.remove('border-gray-300'); target.classList.remove('focus:ring-gray-200'); target.classList.add('border-green-700'); target.classList.add('focus:ring-green-200'); } badInput(target) { target.classList.remove('border-green-700'); target.classList.remove('focus:ring-green-200'); target.classList.remove('border-gray-300'); target.classList.remove('focus:ring-gray-200'); target.classList.add('border-red-700'); target.classList.add('focus:ring-red-200'); } checkEmail() { let split = this.emailTarget.value.toLowerCase().split(\"@\"); writeEmailOptions(this.emailTarget.value, this.emailOptionsTarget); let emailDomain = split[split.length - 1]; if (this.emailTarget.value === '' || !this.match(this.emailTarget.value, \/^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$\/i)) { this.emptyInput(this.emailTarget); this.tooltipTarget.classList.add('hidden'); } else if (emailDomain in this.typos) { this.badInput(this.emailTarget); if (this.typos[emailDomain] !== '') { this.tooltipTarget.classList.remove('hidden'); this.tipTarget.innerHTML = `Vouliez-vous dire ${this.typos[emailDomain]}? Touchez pour corriger`; } } else { this.goodInput(this.emailTarget); this.tooltipTarget.classList.add('hidden'); } } fixEmail() { let split = this.emailTarget.value.toLowerCase().split(\"@\"); let emailDomain = split[split.length - 1]; this.emailTarget.value = this.emailTarget.value.replace(emailDomain, this.typos[emailDomain]); this.checkEmail(); this.enable(); } checkName() { if (this.nameTarget.value === '') { this.emptyInput(this.nameTarget); } else { this.goodInput(this.nameTarget); } } checkPhone() { if (this.phoneTarget.value != \"\") { this.phoneTarget.value = phoneNumberMask(this.phoneTarget.value, this.phoneMaskOption); } } autocomplete() { if (!this.autocompleted && this.emailTarget.value.endsWith('@g')) { this.emailTarget.value += 'mail.com'; this.autocompleted = true; } } isValid() { if (document.getElementById('doubleoptin') !== null) { return document.getElementById('optin').checked && document.getElementById('doubleoptin').checked; } if (this.mode === 'phone' && this.showhighlightValue) { return ( this.getPhoneNumberAreaCod().length > 5 && this.nameTarget.value !== '' && this.checkboxTarget.checked ); } if (this.mode === 'phone' && this.phoneTarget.value === '') { return true; } if (this.mode === 'email' && this.emailTarget.value === '' && !this.showhighlightValue) { return true; } if (this.mode === 'phone') { return ( this.getPhoneNumberAreaCod().length > 5 && this.nameTarget.value !== '' && this.checkboxTarget.checked ); } if (this.mode === 'push') { return true; } let split = this.emailTarget.value.toLowerCase().split(\"@\"); let emailDomain = split[split.length - 1]; if (this.mode === 'email' && this.emailTarget.value !== '' && !this.showhighlightValue) { if (!this.match(this.emailTarget.value, \/^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$\/i) || emailDomain in this.typos) { return true; } } return ( this.emailTarget.value !== '' && this.nameTarget.value !== '' && this.checkboxTarget.checked && this.match( this.emailTarget.value, \/^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$\/i ) && !(emailDomain in this.typos) ); } enable() { this.submitTarget.disabled = !this.isValid(); } identify() { if (typeof window.rudderanalytics === 'object') { window.rudderanalytics.identify( this.emailTarget.value.toLowerCase(), { email: this.emailTarget.value.toLowerCase(), name: this.nameTarget.value, ip: this.cf?.analyticsIp || '', host: this.hostname, quiz: this.quiz, country: this.country, answers: this.tags, utm_source: this.searchParams.get('utm_source') || localStorage.getItem('analytics_utm_source'), utm_medium: this.searchParams.get('utm_medium') || localStorage.getItem('analytics_utm_medium'), utm_campaign: this.searchParams.get('utm_campaign') || localStorage.getItem('analytics_utm_campaign'), utm_content: this.searchParams.get('utm_content') || localStorage.getItem('analytics_utm_content'), utm_term: this.searchParams.get('utm_term') || localStorage.getItem('analytics_utm_term'), fbclid: this.searchParams.get('fbclid') || localStorage.getItem('avFbclid'), gclid: this.searchParams.get('gclid') || localStorage.getItem('avGclid'), fb_pixel: '', aw_pixel: '', ems_account: this.emsAccount, domain: window.location.host, ems_list: String(this.emsList), phone: this.getPhoneNumberAreaCod(), cf_city: this.cf?.analyticsCity || '', cf_country: this.cf?.analyticsCountry || '', cf_region: this.cf?.analyticsRegion || '', cf_regionCode: this.cf?.analyticsCode || '' } ); if (window.complianceFlags && window.complianceFlags['necessary']) { fetch('https:\/\/id.adtechpanda.com\/new', { method: 'POST', body: JSON.stringify({ email: this.emailTarget.value.toLowerCase() }), headers: {'accept': 'application\/json'}, mode: 'no-cors' } ).then(response => { }).catch(error => { }); } } } trackFacebookPixel() { if (typeof window.av?.findTag !== 'undefined') { if (window.av.findTag('fb', '', 'formConversion') !== undefined) { window.av.triggerTags('formConversion', { email: this.emailTarget.value.toLowerCase(), firstName: this.nameTarget.value.split(' ')[0], lastName: this.nameTarget.value.split(' ').slice(1).join(' '), phoneNumber: this.getPhoneNumberAreaCod().replace('+', '') }, ['fb']); return; }; } if (typeof window.fbq === 'function') { window.fbq('track', 'Lead', {tags: this.tags}); }; } track() {  if (document.cookie.includes(\"quizLeadEvent=true\")) { return true; } this.setCookie(\"quizLeadEvent\", \"true\", 1\/192); this.trackFacebookPixel(); if (typeof window.gtag === 'function') { window.gtag('set', 'user_data', { \"email\": this.emailTarget.value.toLowerCase(), \"phone_number\": this.getPhoneNumberAreaCod() }); window.gtag('event', 'conversion', {'send_to': ``}); }; if (typeof window.ttq === 'object') { window.ttq.track('SubmitForm'); }; if (typeof window._tfa === 'object') { window._tfa.push({notify: 'event', name: 'lead', id: Number(\"\")}); }; if (typeof window.ctrk === 'function') { window.ctrk('record', 'Lead', { dnt: false }); };   } chooseLandingPage() { for (let condition of this.conditions) { if (condition['answers'].every( answer => this.replaceAll(this.replaceAll(this.tags, '\u2013', '-'), ' ', '').includes(this.replaceAll(this.replaceAll(answer, '\u2013', '-'), ' ', '')) )) { this.landingPage = condition['link']; this.landingUrl = new URL(this.landingPage); this.landingPathname = this.landingUrl.pathname.split('\/').filter(elem => elem).join('-'); break; }; }; if (typeof this.landingPage === 'undefined' && document.location.pathname[0] === '\/' && document.location.pathname[3] !== '\/') { this.landingPage = this.conditions[0]['link']; this.landingUrl = new URL(this.landingPage); this.landingPathname = this.landingUrl.pathname.split('\/').filter(elem => elem).join('-'); } if (typeof this.landingPage === 'undefined' && document.location.pathname[0] === '\/' && document.location.pathname[3] === '\/') { this.landingPage = !this.conditions[0]['link'].includes(document.location.pathname.substr(0,3)) && !this.conditions[0]['link'].includes('app.') ? this.conditions[0]['link'].replace(document.location.hostname, document.location.hostname + document.location.pathname.substr(0,3)) : this.conditions[0]['link']; this.landingUrl = new URL(this.landingPage); this.landingPathname = this.landingUrl.pathname.split('\/').filter(elem => elem).join('-'); } } redirect() { \/*let fbclid = this.searchParams.get('fbclid') ? '?fbclid=' + this.searchParams.get('fbclid') : ''; let gclid = this.searchParams.get('gclid') ? '?gclid=' + this.searchParams.get('gclid') : '';*\/ let url = `${this.landingPage}`; if (!this.landingUrl.search) { url += window.location.search; } this.formIgnored() ? this.setViewAnyForm(false) : ''; if (this.triggerInterstitial) { this.triggerTarget.href = url.replace(\"\/quiz.\", \"\/\"); this.triggerTarget.click(); setTimeout(() => { this.unloaderTargets.forEach((element, index) => { element.classList.remove(\"hidden\"); }); this.loaderTargets.forEach((element, index) => { element.classList.add(\"hidden\"); }); }, 1000); } else {  window.location.href = url;   } } skip() { if ((false) &&(window.km2RewardedExists) && (window.km2RewardedReady) && (!window.km2RewardedGranted)) { window.km2MakeRewardedVisible( function() { if (!this.showFormFirst) { this.bodyTarget.classList.add('hidden'); this.footerTarget.classList.add('hidden'); } }.bind(this), function() { this.skip(); }.bind(this) ); this.skipperTarget.disabled = true; this.skipperTarget.innerText = \"\"; this.triggerInterstitial = false; } else if (!this.showFormFirst) { this.chooseLandingPage(); this.identify(); this.track(); this.redirect(); } else { this.next(); } } submit(event) { this.unloaderTargets.forEach((element, index) => { element.classList.add(\"hidden\"); }); this.loaderTargets.forEach((element, index) => { element.classList.remove(\"hidden\"); }); this.chooseLandingPage(); if (this.skipForm) { this.identify(); this.track(); this.redirect(); } else { this.sendForm(true); } } submitEmailForm(event) { this.sendForm(); } sendForm(redirect=false) { this.identify(); let formData = new FormData(); formData.set('email', this.emailTarget.value.toLowerCase()); formData.set('name', this.nameTarget.value); formData.set('phone', this.getPhoneNumberAreaCod()); formData.set('tags', this.tags); formData.set(`p[${this.emsList}]`, this.emsList); fetch(`https:\/\/webhooks.adtechpanda.com\/quiz\/${this.emsAccount}`, { method: 'POST', body: formData, headers: {}, mode: 'no-cors', } ).then(response => { this.track(); this.emailTarget.value.length > 5 ? this.setViewEmailForm(false) : ''; this.getPhoneNumberAreaCod().length > 5 ? this.setViewPhoneForm(false) : ''; if (redirect) { this.redirect(); } else { !this.showFormFirst ? this.successMessage() : ''; } }).catch(error => { if (redirect) { this.redirect(); } else { !this.showFormFirst ? this.successMessage() : ''; } }); } successMessage() { this.formDataTarget.classList.add(\"hidden\"); this.formMessageTarget.classList.remove(\"hidden\"); let event = new CustomEvent(\"sendPulseTriggerPrompt\"); window.dispatchEvent(event); this.setFormViews(0); } getAnalyticsData() { this.cf = JSON.parse(sessionStorage.getItem(\"wildcardData\")); if (sessionStorage.getItem(\"wildcardCountry\") === null) { fetch('https:\/\/tracker.adtechpanda.com\/', { method: 'GET', headers: {'accept': 'application\/json'} }).then(response => response.json()).then(data => { const wildcardData = { analyticsIp: data.ip, analyticsCity: data.city, analyticsRegion: data.region, analyticsCode: data.regionCode, analyticsCountry: data.country }; sessionStorage.setItem(\"wildcardData\", JSON.stringify(wildcardData)); sessionStorage.setItem(\"wildcardCountry\", data.country); sessionStorage.setItem(\"wildcardRegion\", data.regionCode); sessionStorage.setItem(\"wildcardCity\", data.city); sessionStorage.setItem(\"wildcardState\", data.region); this.cf = wildcardData; }); } } getPhoneNumberAreaCod() { return '+'+(''+(this.phoneMaskOption.areaCod+this.phoneTarget.value)).replace(\/\\D\/g, ''); } observerScrollEmailForm() { const observer = new IntersectionObserver(entries => { entries.forEach(entry => { if (entry.isIntersecting) { this.formViews === -1 ? this.addAnimate() : ''; this.setFormViews(this.formViews + 1); } else { this.removeAnimate(); } }); }); observer.observe(this.submitTarget); } addAnimate() { if (!this.showedHighlight) { this.inProcessAnimate = true; this.formBoxBackGroundTarget.style.animation = \"none\"; this.formBoxBackGroundTarget.classList.remove('animate-fast-fade-out'); this.formBoxBackGroundTarget.classList.add('animate-fade-in'); this.formBoxTarget.classList.add('relative'); this.formBoxTarget.classList.add('animate-show-highlight'); setTimeout(() => { this.formBoxBackGroundTarget.style.animation = \"\"; this.formBoxBackGroundTarget.classList.remove('hidden'); this.showedHighlight = true; setTimeout(() => this.removeAnimate(), 5000); }, 10); } } removeAnimate() { if (this.inProcessAnimate) { this.formBoxBackGroundTarget.style.animation = \"none\"; this.formBoxBackGroundTarget.classList.remove('animate-fade-in'); this.formBoxBackGroundTarget.classList.add('animate-fade-out-quickly'); this.formBoxTarget.style.animation = \"none\"; this.formBoxTarget.classList.add('animate-hide-highlight'); this.formBoxTarget.classList.remove('animate-show-highlight'); this.formBoxTarget.classList.remove('relative'); setTimeout(() => { this.formBoxBackGroundTarget.style.animation = \"\"; this.formBoxTarget.style.animation = \"\"; setTimeout(() => { this.formBoxBackGroundTarget.classList.add('hidden'); this.inProcessAnimate = false; }, 1000); }, 10); } } setCookie(key, value, days) { let date = new Date(); date.setTime(date.getTime() + parseInt(days * 24 * 60 * 60 * 1000)); document.cookie = key + \"=\" + value + \";expires=\" + date.toUTCString() + \";domain=.senhorcursos.com;path=\/\"; } setViewEmailForm(view) { localStorage.setItem(\"viewEmailForm\", view); this.setCookie(\"viewEmailForm\", String(view), 28); } getViewEmailForm() {  if (document.cookie.includes(\"viewEmailForm=false\")) { return false; } return ((localStorage.getItem(\"viewEmailForm\") || 'true') === 'true'); } setViewPhoneForm(view) { localStorage.setItem(\"viewPhoneForm\", view); this.setCookie(\"viewPhoneForm\", String(view), 28); } getViewPhoneForm() {  if (document.cookie.includes(\"viewPhoneForm=false\")) { return false; } return ((localStorage.getItem(\"viewPhoneForm\") || 'true') === 'true'); } getViewPushForm() { \/*if (typeof navigator.permissions === \"undefined\") { return false; } let permissionStatus = await navigator.permissions.query({name:'push', userVisibleOnly:true}); return (permissionStatus.state === 'granted' || permissionStatus.state === 'denied');*\/ return false; } setViewAnyForm(view) { localStorage.setItem(\"viewAnyForm\", view); this.setCookie(\"viewAnyForm\", String(view), 14); } getViewAnyForm() { if (document.cookie.includes(\"viewAnyForm=false\")) { return false; } return ((localStorage.getItem(\"viewAnyForm\") || 'true') === 'true'); } getFormViews() { this.formViews = parseInt(sessionStorage.getItem(\"quizFormViews\")) >= 1 ? parseInt(sessionStorage.getItem(\"quizFormViews\")) : 0; return this.formViews; } setFormViews(views) { sessionStorage.setItem(\"quizFormViews\", views); } formIgnored() { return (!this.skipForm && this.showForm && Math.max(this.emailTarget.value.length, this.getPhoneNumberAreaCod().length) < 5); } }); <\/script><div data-controller=\"quiz\" data-quiz-target=\"quiz\" data-quiz-showhighlight-value=\"true\" class=\"hidden sm:hidden   py-5 my-10 shadow-lg\">    \n  <div class=\"w-full p-2 md:p-4\" data-quiz-target=\"formBox\" style=\"z-index: 10;\">\n        <div class=\"flex flex-col rounded-lg p-4 w-full my-4 border bg-white shadow-lg\">\n      <div data-quiz-target=\"formData pane\" class=\"flex flex-col\">      \n        <h2 data-quiz-target=\"formTitle\" class=\"text-gray-900 text-base font-medium title-font mb-5 text-center\">\n                  <\/h2>\n        <div data-quiz-target=\"emailDiv\" class=\"text-left relative mb-4\">\n          <label for=\"email\" class=\"px-2 leading-7 text-sm text-gray-600 text-left\">\n            E-mail          <\/label>\n          <div data-quiz-target=\"tooltip\" style=\"top: 0px; right: 0px;\" class=\"hidden absolute mx-2\">\n            <button data-action=\"quiz#fixEmail\" class=\"bg-black text-white text-xs rounded py-1 px-4 right-0 bottom-full\">\n                <span data-quiz-target=\"tip\"><\/span>\n              <svg class=\"absolute text-black h-2 w-full left-0 top-full\" x=\"0px\" y=\"0px\" viewbox=\"0 0 255 255\" xml:space=\"preserve\"><polygon class=\"fill-current\" points=\"0,0 127.5,127.5 255,0\"\/><\/svg>\n            <\/button>\n          <\/div>\n          <input data-quiz-target=\"email\" data-action=\"quiz#enable quiz#checkEmail\" list=\"email-options\" type=\"email\" name=\"email\" placeholder=\"exemple@gmail.com\" class=\"w-full mt-1 bg-white rounded-lg border border-gray-300 focus:ring-2 focus:ring-gray-200 text-base outline-none text-gray-700 py-1 px-3 leading-8 transition-colors duration-200 ease-in-out\">\n          <datalist data-quiz-target=\"emailOptions\" id=\"email-options\"><\/datalist>\n        <\/div>  \n        <div data-quiz-target=\"phoneDiv\" class=\"grid grid-cols-3 gap-6 mb-4\">\n          <div class=\"col-span-3 text-left\">\n            <label for=\"phone\" class=\"px-2 leading-7 text-sm text-gray-600 text-left\">\n              Num\u00e9ro de t\u00e9l\u00e9phone            <\/label>\n            <div class=\"mt-1 flex rounded shadow\">\n              \n              <input data-quiz-target=\"phone\" data-action=\"quiz#enable quiz#checkPhone\" type=\"phone\" name=\"phone\" id=\"phone\" maxlength=\"16\" class=\"rounded-none rounded-r-md w-full bg-white border border-gray-300 focus:border-gray-500 focus:ring-2 focus:ring-gray-200 text-base outline-none text-gray-700 py-1 px-3 leading-8 transition-colors duration-200 ease-in-out\">\n            <\/div>\n          <\/div>\n        <\/div>\n        <div data-quiz-target=\"nameDiv\" class=\"text-left relative mb-4\">\n          <label for=\"name\" class=\"px-2 leading-7 text-sm text-gray-600 text-left\">\n            Pr\u00e9nom          <\/label>\n          <input data-quiz-target=\"name\" data-action=\"quiz#enable quiz#checkName\" type=\"text\" id=\"name\" name=\"name\" class=\"w-full mt-1 bg-white rounded-lg border border-gray-300 focus:border-gray-500 focus:ring-2 focus:ring-gray-200 text-base outline-none text-gray-700 py-1 px-3 leading-8 transition-colors duration-200 ease-in-out\">\n        <\/div>\n        \n        <div data-quiz-target=\"soiDiv\" class=\"text-left relative mb-4 flex justify-start items-center\">\n          <input data-quiz-target=\"checkbox\" data-action=\"quiz#enable\" type=\"checkbox\" id=\"optin\" style=\"min-width: 25px;\" class=\"w-4 h-4 transition duration-300 rounded focus:ring-2 focus:ring-offset-0 focus:outline-none focus:ring-green-200\" \/>\n          <label data-quiz-target=\"soi\" for=\"optin\" class=\"ml-3 text-sm text-gray-600 text-left\">\n                      <\/label>\n        <\/div>\n                \n        <button aria-label=\"\" disabled data-quiz-target=\"submit\" data-action='quiz#submitEmailForm analytics#trackEmailForm' data-analytics-label=\"submitButton\" class=\"border-0 py-3 px-8 focus:outline-none rounded-lg text-lg disabled:opacity-50 block shadow-lg\">\n                  <\/button>\n      <\/div>\n      <div data-quiz-target=\"formMessage\" class=\"hidden\">\n        <div data-quiz-target=\"successMessage\" class=\"w-full  px-4 py-3 rounded relative text-center\">\n                  <\/div>\n        <p style=\"font-size: 10px;\" data-quiz-target=\"footnote\" class=\"hidden mb-4 text-xs mt-3 text-center sm:text-right\">\n          Je serai redirig\u00e9 vers un autre site Web        <\/p>\n      <\/div>\n    <\/div>\n  <\/div> \n    <div data-quiz-target=\"formBoxBackGround\" class=\"dark-background hidden\" style=\"z-index: 0;\"><\/div> \n<\/div>  <\/div>\n\n<\/div>\n\n<\/div><!--landing--><div class=\"wp-block-lazyblock-accordion lazyblock-accordion-10b91m\"><div data-controller=\"accordion\" class=\"mx-5 sm:mx-0 rounded mt-10 mb-20\">\n\t<div>\n                    <h2>\n                <button data-accordion-target=\"title\" data-accordion-index=\"0\" data-action=\"accordion#update\" type=\"button\" class=\"h-24 sm:h-16 flex justify-between items-center py-5 w-full font-medium text-left text-gray-900 rounded-t-xl border-b border-gray-200 dark:border-gray-700 dark:text-white\">\n                    <span class=\"w-4\/5\" data-accordion-index=\"0\">\n                        L&#039;application LinguaLeo est-elle bonne ?                    <\/span>\n                    <svg data-accordion-index=\"0\" data-accordion-target=\"icon\" class=\"w-6 h-6 rotate-180 shrink-0\" fill=\"currentColor\" viewbox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path fill-rule=\"evenodd\" d=\"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z\" clip-rule=\"evenodd\"><\/path><\/svg>\n                <\/button>\n            <\/h2>\n            <div data-accordion-target=\"description\" class=\"animate-fade-in-down\">\n                <div class=\"py-5 border-b border-gray-200 dark:border-gray-70 text-left\">\n                    <p class=\"mb-2 text-gray-500 dark:text-gray-400\">\n                        Oui. L&#039;application propose plusieurs fonctionnalit\u00e9s pour vous aider \u00e0 apprendre une nouvelle langue de diff\u00e9rentes mani\u00e8res. Gr\u00e2ce \u00e0 des m\u00e9thodes vari\u00e9es et incroyablement simples, cette plateforme pourrait \u00eatre la solution id\u00e9ale pour apprendre une autre langue. Voir plus de d\u00e9tails.                    <\/p>\n                <\/div>\n            <\/div>\n                    <h2>\n                <button data-accordion-target=\"title\" data-accordion-index=\"1\" data-action=\"accordion#update\" type=\"button\" class=\"h-24 sm:h-16 flex justify-between items-center py-5 w-full font-medium text-left text-gray-900 rounded-t-xl border-b border-gray-200 dark:border-gray-700 dark:text-white\">\n                    <span class=\"w-4\/5\" data-accordion-index=\"1\">\n                        L&#039;application LinguaLeo vaut-elle le coup ?                    <\/span>\n                    <svg data-accordion-index=\"1\" data-accordion-target=\"icon\" class=\"w-6 h-6 rotate-180 shrink-0\" fill=\"currentColor\" viewbox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path fill-rule=\"evenodd\" d=\"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z\" clip-rule=\"evenodd\"><\/path><\/svg>\n                <\/button>\n            <\/h2>\n            <div data-accordion-target=\"description\" class=\"animate-fade-in-down\">\n                <div class=\"py-5 border-b border-gray-200 dark:border-gray-70 text-left\">\n                    <p class=\"mb-2 text-gray-500 dark:text-gray-400\">\n                        Cette application est un excellent moyen d&#039;apprendre tout en s&#039;amusant. D\u00e9couvrez son fonctionnement et les avantages d&#039;apprendre une autre langue avec cette plateforme. Pour en savoir plus, consultez notre article complet.                    <\/p>\n                <\/div>\n            <\/div>\n                    <h2>\n                <button data-accordion-target=\"title\" data-accordion-index=\"2\" data-action=\"accordion#update\" type=\"button\" class=\"h-24 sm:h-16 flex justify-between items-center py-5 w-full font-medium text-left text-gray-900 rounded-t-xl border-b border-gray-200 dark:border-gray-700 dark:text-white\">\n                    <span class=\"w-4\/5\" data-accordion-index=\"2\">\n                        L&#039;application LinguaLeo est-elle gratuite ?                    <\/span>\n                    <svg data-accordion-index=\"2\" data-accordion-target=\"icon\" class=\"w-6 h-6 rotate-180 shrink-0\" fill=\"currentColor\" viewbox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path fill-rule=\"evenodd\" d=\"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z\" clip-rule=\"evenodd\"><\/path><\/svg>\n                <\/button>\n            <\/h2>\n            <div data-accordion-target=\"description\" class=\"animate-fade-in-down\">\n                <div class=\"py-5 border-b border-gray-200 dark:border-gray-70 text-left\">\n                    <p class=\"mb-2 text-gray-500 dark:text-gray-400\">\n                        LinguaLeo est disponible en version gratuite et gratuite. Cependant, certaines fonctionnalit\u00e9s sont limit\u00e9es. Si vous le souhaitez, vous pouvez souscrire \u00e0 un abonnement et profiter de tous les avantages de l&#039;application. Pour en savoir plus, consultez notre article.                    <\/p>\n                <\/div>\n            <\/div>\n        \t<\/div>\n<\/div><\/div><div class=\"mx-5 sm:mx-0 prose leading-relaxed text-lg mb-5 text-left wp-paragraph\">\n<p>LinguaLeo utilise une m\u00e9thode ludique pour les enfants comme pour les adultes\u00a0! Cette application est donc accessible \u00e0 tous, quel que soit votre \u00e2ge.<\/p>\n<\/div><div class=\"mx-5 sm:mx-0 prose leading-relaxed text-lg mb-5 text-left wp-paragraph\">\n<p>Au total, huit langues diff\u00e9rentes sont disponibles sur la plateforme. Consultez notre guide pour les d\u00e9couvrir et savoir comment vous inscrire.<\/p>\n<\/div><div class=\"mx-5 sm:mx-0 prose leading-relaxed text-lg mb-5 text-left wp-paragraph\">\n<p>Enfin, si vous souhaitez d\u00e9couvrir d&#039;autres applications qui peuvent vous aider \u00e0 apprendre une nouvelle langue, nous vous recommandons de lire notre guide sur Busuu !<\/p>\n<\/div><div class=\"wp-block-lazyblock-cta lazyblock-cta-Z119SGd\">\n  <section class=\"cta mx-5 sm:mx-0 text-gray-600 body-font my-10 border-gray-200 border-b border-l border-r sm:border-0\">\n    <div class=\"h-1 bg-gray-200 rounded overflow-hidden\">\n      <div class=\"w-24 h-full\"><\/div>\n    <\/div>\n    <div class=\"container px-5 pt-6 pb-6 mx-auto flex flex-wrap\" data-anchor-target=\"lazyBlock\">    \n    \n              <a class=\"flex flex-wrap content-center w-full mb-4 md:hidden\" href=\"https:\/\/senhorcursos.com\/fr\/busuu\/\"  data-analytics-label=\"ctaImage\" data-action=\"analytics#trackCTA\" aria-label=\"Busuu\">\n          <div class=\"m-auto float-none\">\n            <img loading=\"lazy\" src=\"https:\/\/senhorcursos.com\/wp-content\/uploads\/2023\/03\/image-152.png\" alt=\"\">\n          <\/div>\n        <\/a>\n            <h2 class=\"w-full sm:text-3xl text-2xl text-gray-900 font-medium title-font mb-2 text-center md:text-left md:w-2\/5\">\n        <a href=\"https:\/\/senhorcursos.com\/fr\/busuu\/\" data-analytics-label=\"ctaTitle\" data-action=\"analytics#trackCTA\" aria-label=\"Busuu\">\n            Busuu        <\/a>\n      <\/h2>\n      <div class=\"w-full md:w-3\/5 md:pl-6\">\n        <p class=\"text-center md:text-left leading-relaxed text-base\">\n            D\u00e9couvrez Busuu et d\u00e9couvrez si c&#039;est la meilleure fa\u00e7on pour vous d&#039;\u00e9tudier une nouvelle langue.        <\/p>\n        <div class=\"flex mt-6 w-full flex-1 justify-center ml-auto md:mt-4 md:justify-start\" style=\"font-weight: bold;\">\n          <a class=\"inline-flex items-center\" href=\"https:\/\/senhorcursos.com\/fr\/busuu\/\"  data-analytics-label=\"ctaButton\" data-action=\"analytics#trackCTA\" >\n            Continuer la lecture            <svg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" class=\"w-4 h-4 ml-2\" viewbox=\"0 0 24 24\">\n              <path d=\"M5 12h14M12 5l7 7-7 7\"><\/path>\n            <\/svg>\n          <\/a>\n        <\/div>\n      <\/div>  \n          \n    <\/div>\n      <script type=\"module\"> function waitFor(conditionFunction) { const poll = resolve => { if(conditionFunction()) resolve(); else setTimeout(_ => poll(resolve), 400); }; return new Promise(poll); } import { Application, Controller } from \"\/wp-content\/themes\/twentytwentyone\/assets\/js\/stimulus.min.js\"; let Stimulus = Application.start(); Stimulus.register(\"anchor\", class extends Controller { static get targets() { return [ \"lazyBlock\", \"lazyBlockAnchor\" ]; } initialize() { this.active = false; this.passed = false; this.closed = false; this.anchorViews = 0; this.boundOnShowAnchor = this.onShowAnchor.bind(this); window.anchorReady = window.anchorReady || false; waitFor(_ => (window.scrollY > this.getHeightBlock() && !this.active)) .then(_ => { !window.anchorReady? this.visible() : ''; window.anchorReady = true; }); if (document.getElementById('landing')) { setTimeout(() => { !window.anchorReady ? this.visible() : ''; window.anchorReady = true; }, 1 * 30000); }; } connect() { this.onShowAnchor(); document.addEventListener(\"scroll\", this.boundOnShowAnchor); } disconnect() { document.removeEventListener(\"scroll\", this.boundOnShowAnchor); } visible() { if (document.getElementById('av-offerwall__wrapper')) { setTimeout(() => this.visible(), 20000); return; } if (document.getElementById('av-fixed__bottomWrapper') && document.getElementById('av-fixed__bottomWrapper').style.display !== 'none' && document.getElementById('av-fixed__bottomWrapper').getBoundingClientRect().height > 100) { setTimeout(() => this.visible(), 1000); return; } if (document.getElementById('av-fixed__bottomWrapper') && document.getElementById('av-fixed__bottomWrapper').style.display !== 'none' && document.getElementById('av-fixed__bottomWrapper').getBoundingClientRect().height > 10) { this.getAnchorElement().style.marginBottom = '60px'; } if (document.querySelector('[data-anchor-shown=\"true\"]') && document.querySelector('[data-anchor-shown=\"true\"]').style.bottom === '0px') { setTimeout(() => this.visible(), 1000); return; } if (!window.km2AnchorReady) { this.active = true; \/*this.getAnchorElement().style.animation = \"none\"; this.getAnchorElement().classList.remove('animate-show-down');*\/ \/*this.getAnchorElement().classList.add('animate-show-up');*\/ \/*setTimeout(() => {*\/ \/*this.getAnchorElement().style.animation = \"\";*\/ this.getAnchorElement().classList.add('animate-show-up'); this.getAnchorElement().classList.remove('hidden'); this.setAnchorViews(this.anchorViews+1); setTimeout(() => this.closeAnchor(), 20000); waitFor(_ => (document.getElementById('av-fixed__bottomWrapper') && document.getElementById('av-fixed__bottomWrapper').style.display !== 'none' && document.getElementById('av-fixed__bottomWrapper').getBoundingClientRect().height > 10 && this.getAnchorElement().style.marginBottom !== '60px')) .then(_ => { this.closeAnchor(); }); this.active = false; \/*}, 10);*\/ } } invisible() { this.active = true; this.getAnchorElement().style.animation = \"none\"; this.getAnchorElement().classList.remove('animate-show-up'); this.getAnchorElement().classList.add('animate-show-down'); setTimeout(() => { this.getAnchorElement().style.animation = \"\"; setTimeout(() => { this.getAnchorElement().classList.add('hidden'); this.active = false; }, 800); }, 10); } onShowAnchor() { let anchorReady = false;  \/*if (!this.active && !anchorReady) { if (this.getAnchorViews() <= 3) { if (window.scrollY > this.getHeightBlock()) { if (!this.passed && !this.closed) { this.visible(); this.passed = true; } } else { if (this.passed) { this.invisible(); this.passed = false; } } } else { if (!this.getAnchorElement().classList.contains('close')) { this.getAnchorElement().classList.add('close'); if (window.scrollY < this.getHeightBlock()) { this.invisible(); } } } }*\/ } closeAnchor() { if (this.closed) return; this.invisible(); this.getAnchorElement().classList.add('close'); this.closed = true; } getAnchorElement() { return this.lazyBlockAnchorTargets[0]; } getAnchorViews() { this.anchorViews = parseInt(sessionStorage.getItem(\"anchorViews\")) >= 1 ? parseInt(sessionStorage.getItem(\"anchorViews\")) : 0; return this.anchorViews; } setAnchorViews(views) { sessionStorage.setItem(\"anchorViews\", views); } getHeightBlock() { return this.lazyBlockTarget.offsetTop + this.lazyBlockTarget.offsetHeight - 110; } }) <\/script>  <div data-anchor-target=\"lazyBlockAnchor\" class=\"fixed w-full sm:w-96 px-3 py-2 bottom-0 left-0 hidden\" style=\"z-index: 999999;\" name=\"lazyBlockAnchor\">\n    <div class=\"grid justify-items-stretch\">        \n              <div class=\"relative justify-self-end top-4 -right-2\">\n          <button data-no-translation class=\"bg-white text-md font-medium text-center rounded-full h-7 w-7 border-2\" data-analytics-label=\"anchorCloseAnchor\" data-action=\"anchor#closeAnchor\" style=\"z-index: 999999;\">\n            X\n          <\/button>\n        <\/div>\n        <div class=\"justify-self-auto flex flex-col h-32 bg-white border-solid border-2 shadow-md rounded-md\">\n          <div class=\"flex my-0 h-full\">\n            <div class=\"w-2\/5 p-1 ml-2 mt-2 w-full\">\n              <a href=\"https:\/\/senhorcursos.com\/fr\/busuu\/\"  data-analytics-label=\"anchorImage\" data-action=\"analytics#trackCTA\">          \n                <img loading=\"lazy\" alt=\"card\" class=\"w-full object-cover h-24 object-center rounded justify-self-auto border-2 border-gray-100\" src=\"https:\/\/senhorcursos.com\/wp-content\/uploads\/2023\/03\/image-152.png\">          \n              <\/a>\n            <\/div>\n            <div class=\"w-3\/5 my-2\">\n              <p class=\"px-4 text-center text-xs h-1\/2\">\n                Busuu              <\/p>\n              <a href=\"https:\/\/senhorcursos.com\/fr\/busuu\/\"  data-analytics-label=\"anchorButton\" data-action=\"analytics#trackCTA\" >\n                <button class=\"flex w-5\/6 m-auto mt-2 border-0 py-1 px-3 focus:outline-none rounded\">                \n                  <p class=\"text-center w-full\" style=\"font-size: 0.67rem;\">\n                    Continuer la lecture                  <\/p>\n                <\/button>\n              <\/a>\n              <p class=\"text-gray-500 text-center mt-1\" style=\"font-size: 0.50rem;\">\n                Je me reposerai sur mon propre site Web              <\/p>\n            <\/div>\n          <\/div>\n        <\/div>\n          <\/div>\n  <\/div>\n  <\/section>\n\n<\/div><!--loader--><div class=\"wp-block-lazyblock-loader lazyblock-loader-Z2w3ejs\"><script>\n    Math.min(window.screen.width, window.screen.height) < 768 ? document.getElementById(\"page\").classList.add(\"fixed\") : '';\n<\/script>\n<div id=\"loader\" class=\"flex h-screen fixed bg-white inset-0\" style=\"z-index: 99999;\" >\n    <div class=\"m-auto flex flex-col\">\n        <div class=\"flex\">\n            <svg style=\"color: \" class=\"m-auto animate-spin h-28 w-28\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewbox=\"0 0 24 24\">\n                <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\"><\/circle>\n                <path class=\"opacity-75\" fill=\"currentColor\" d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"><\/path>\n            <\/svg>\n        <\/div>\n                    <div class=\"px-2 my-4 text-center animate-pulse text-xl\">\n                Vous recherchez la meilleure application linguistique pour vous...            <\/div>\n                    <\/div>\n<\/div>\n<script>\n    function waitFor(conditionFunction) {\n        const poll = resolve => {\n            if(conditionFunction()) resolve();\n            else setTimeout(_ => poll(resolve), 400);\n        };\n        return new Promise(poll);\n    }\n\n    window.loaderHandler = setTimeout(() => {\n        waitFor(_ => ((document.querySelector('[data-google-query-id]') !== null) || (typeof avCustomConfig === 'object' && avCustomConfig.skipAds === true)))\n            .then(_ => {\n                if ((window.location.pathname.includes('\/iow')) && ((document.referrer ?? '').includes('senhorcursos.com'.replace('cb.', ''))) && (!document.cookie.includes('avOfferWallRewarded'))) return;\n\n                if (document.getElementById('loader')) {\n                    document.getElementById('loader').addEventListener('animationend', () => {\n                        document.getElementById(\"page\").classList.remove(\"fixed\");\n                        document.getElementById(\"loader\").remove();\n                    });\n                    document.getElementById('loader').classList.add('animate-fade-out-quickly');\n                }\n            });\n    }, 2500);\n\n    window.loaderHandler = setTimeout(() => {\n        waitFor(_ => ((typeof av === 'object' && av.requested === true) || (typeof av === 'object' && av.showLimitedAds() === true && window.googletag && googletag.pubadsReady)))\n            .then(_ => {\n                if ((window.location.pathname.includes('\/iow')) && ((document.referrer ?? '').includes('senhorcursos.com'.replace('cb.', ''))) && (!document.cookie.includes('avOfferWallRewarded'))) return;\n                \n                if (document.getElementById('loader')) {\n                    document.getElementById('loader').addEventListener('animationend', () => {\n                        document.getElementById(\"page\").classList.remove(\"fixed\");\n                        document.getElementById(\"loader\").remove();\n                    });\n                    document.getElementById('loader').classList.add('animate-fade-out-quickly');\n                }\n            });\n    }, 3500);\n\n    window.loaderHandler = setTimeout(() => {\n        waitFor(_ => (typeof av === 'object' && av.timeline?.includes('rewarded->visible')))\n            .then(_ => {                        \n                if (document.getElementById('loader')) {\n                    document.getElementById('loader').addEventListener('animationend', () => {\n                        document.getElementById(\"page\").classList.remove(\"fixed\");\n                        document.getElementById(\"loader\").remove();\n                    });\n                    document.getElementById('loader').classList.add('animate-fade-out-quickly');\n                }\n            });\n    }, 5000);\n\n    setTimeout(() => {\n        if (document.getElementById('loader')) {\n            document.getElementById('loader').addEventListener('animationend', () => {\n                document.getElementById(\"page\").classList.remove(\"fixed\");\n                document.getElementById(\"loader\").remove();\n            });\n            document.getElementById('loader').classList.add('animate-fade-out-quickly');\n        }\n    }, ((window.location.pathname.includes('\/iow')) && ((document.referrer ?? '').includes('senhorcursos.com'.replace('cb.', ''))) && (!document.cookie.includes('avOfferWallRewarded'))) ? 20000 : 10000);\n<\/script>\n<\/div><!--loader-->","protected":false},"excerpt":{"rendered":"<p>O LinguaLeo usa um m\u00e9todo que pode divertir tanto crian\u00e7as quanto adultos! Por isso, pessoas de qualquer idade podem aprender usando este app. Ao todo, 8 idiomas diferentes est\u00e3o dispon\u00edveis na plataforma. Leia o nosso guia para saber quais s\u00e3o estes e descobrir como se cadastrar. Por fim, caso esteja interessado em descobrir outros aplicativos&hellip; <a class=\"more-link\" href=\"https:\/\/senhorcursos.com\/fr\/recomendador-lingualeo\/\">Continuer \u00e0 lire <span class=\"screen-reader-text\">Recomendador Senhor Cursos &#8211; LinguaLeo<\/span><\/a><\/p>","protected":false},"author":22,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[17,2],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v18.7 (Yoast SEO v19.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Recomendador Senhor Cursos - LinguaLeo - Senhor Cursos<\/title>\n<meta name=\"description\" content=\"O LinguaLeo pode te ajudar a aprender 8 diferentes idiomas com games e outras formas divertidas! Saiba mais em nosso recomendador.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/senhorcursos.com\/fr\/recomendador-lingualeo\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Recomendador Senhor Cursos - LinguaLeo\" \/>\n<meta property=\"og:description\" content=\"O LinguaLeo pode te ajudar a aprender 8 diferentes idiomas com games e outras formas divertidas! Saiba mais em nosso recomendador.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/senhorcursos.com\/fr\/recomendador-lingualeo\/\" \/>\n<meta property=\"og:site_name\" content=\"Senhor Cursos\" \/>\n<meta property=\"article:published_time\" content=\"2023-04-03T12:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-03-30T14:29:26+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Aline Saes\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/senhorcursos.com\/#website\",\"url\":\"https:\/\/senhorcursos.com\/\",\"name\":\"Senhor Cursos\",\"description\":\"Os melhores cursos, concursos e vagas de empregos para voc\u00ea\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/senhorcursos.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/senhorcursos.com\/recomendador-lingualeo\/#webpage\",\"url\":\"https:\/\/senhorcursos.com\/recomendador-lingualeo\/\",\"name\":\"Recomendador Senhor Cursos - LinguaLeo - Senhor Cursos\",\"isPartOf\":{\"@id\":\"https:\/\/senhorcursos.com\/#website\"},\"datePublished\":\"2023-04-03T12:00:00+00:00\",\"dateModified\":\"2023-03-30T14:29:26+00:00\",\"author\":{\"@id\":\"https:\/\/senhorcursos.com\/#\/schema\/person\/45e977c91de6e7a331ae798620263501\"},\"description\":\"O LinguaLeo pode te ajudar a aprender 8 diferentes idiomas com games e outras formas divertidas! Saiba mais em nosso recomendador.\",\"breadcrumb\":{\"@id\":\"https:\/\/senhorcursos.com\/recomendador-lingualeo\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/senhorcursos.com\/recomendador-lingualeo\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/senhorcursos.com\/recomendador-lingualeo\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/senhorcursos.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Recomendador Senhor Cursos &#8211; LinguaLeo\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/senhorcursos.com\/#\/schema\/person\/45e977c91de6e7a331ae798620263501\",\"name\":\"Aline Saes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/senhorcursos.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/fbba2c3f92032de0d7a091559878aacc?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/fbba2c3f92032de0d7a091559878aacc?s=96&d=mm&r=g\",\"caption\":\"Aline Saes\"},\"url\":\"https:\/\/senhorcursos.com\/fr\/author\/aline-saes-rodriguesgmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Recomendador Senhor Cursos - LinguaLeo - Senhor Cursos","description":"O LinguaLeo pode te ajudar a aprender 8 diferentes idiomas com games e outras formas divertidas! Saiba mais em nosso recomendador.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/senhorcursos.com\/fr\/recomendador-lingualeo\/","og_locale":"fr_FR","og_type":"article","og_title":"Recomendador Senhor Cursos - LinguaLeo","og_description":"O LinguaLeo pode te ajudar a aprender 8 diferentes idiomas com games e outras formas divertidas! Saiba mais em nosso recomendador.","og_url":"https:\/\/senhorcursos.com\/fr\/recomendador-lingualeo\/","og_site_name":"Senhor Cursos","article_published_time":"2023-04-03T12:00:00+00:00","article_modified_time":"2023-03-30T14:29:26+00:00","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Aline Saes","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/senhorcursos.com\/#website","url":"https:\/\/senhorcursos.com\/","name":"Senhor Cursos","description":"Os melhores cursos, concursos e vagas de empregos para voc\u00ea","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/senhorcursos.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/senhorcursos.com\/recomendador-lingualeo\/#webpage","url":"https:\/\/senhorcursos.com\/recomendador-lingualeo\/","name":"Recomendador Senhor Cursos - LinguaLeo - Senhor Cursos","isPartOf":{"@id":"https:\/\/senhorcursos.com\/#website"},"datePublished":"2023-04-03T12:00:00+00:00","dateModified":"2023-03-30T14:29:26+00:00","author":{"@id":"https:\/\/senhorcursos.com\/#\/schema\/person\/45e977c91de6e7a331ae798620263501"},"description":"O LinguaLeo pode te ajudar a aprender 8 diferentes idiomas com games e outras formas divertidas! Saiba mais em nosso recomendador.","breadcrumb":{"@id":"https:\/\/senhorcursos.com\/recomendador-lingualeo\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/senhorcursos.com\/recomendador-lingualeo\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/senhorcursos.com\/recomendador-lingualeo\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/senhorcursos.com\/"},{"@type":"ListItem","position":2,"name":"Recomendador Senhor Cursos &#8211; LinguaLeo"}]},{"@type":"Person","@id":"https:\/\/senhorcursos.com\/#\/schema\/person\/45e977c91de6e7a331ae798620263501","name":"Aline Saes","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/senhorcursos.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/fbba2c3f92032de0d7a091559878aacc?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fbba2c3f92032de0d7a091559878aacc?s=96&d=mm&r=g","caption":"Aline Saes"},"url":"https:\/\/senhorcursos.com\/fr\/author\/aline-saes-rodriguesgmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/senhorcursos.com\/fr\/wp-json\/wp\/v2\/posts\/9211"}],"collection":[{"href":"https:\/\/senhorcursos.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/senhorcursos.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/senhorcursos.com\/fr\/wp-json\/wp\/v2\/users\/22"}],"replies":[{"embeddable":true,"href":"https:\/\/senhorcursos.com\/fr\/wp-json\/wp\/v2\/comments?post=9211"}],"version-history":[{"count":0,"href":"https:\/\/senhorcursos.com\/fr\/wp-json\/wp\/v2\/posts\/9211\/revisions"}],"wp:attachment":[{"href":"https:\/\/senhorcursos.com\/fr\/wp-json\/wp\/v2\/media?parent=9211"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/senhorcursos.com\/fr\/wp-json\/wp\/v2\/categories?post=9211"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/senhorcursos.com\/fr\/wp-json\/wp\/v2\/tags?post=9211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}