Professional Documents
Culture Documents
Código Original
Código Original
br">
<link rel="preconnect" crossorigin href="https://api.yampi.io">
{% if template.name == 'product' %}
<script src="https://www.mercadopago.com/v2/security.js" view="item"></script>
{% endif %}
{% if template.name == 'index' %}
<script src="https://www.mercadopago.com/v2/security.js" view="home"></script>
{% endif %}
{% if template.name == 'search' %}
<script src="https://www.mercadopago.com/v2/security.js" view="search"></script>
{% endif %}
</style>
<div class="yampi-loader">
<div class="yampi-loading"></div>
</div>
<script type='text/javascript'>
window.yampiCheckoutUrl = '';
function showYampiLoader() {
var el = document.querySelector('.yampi-loader');
el.style.display = 'block';
}
function hideYampiLoader() {
var el = document.querySelector('.yampi-loader');
el.style.display = 'none';
}
// Cart
if (currentPage == 'cart') {
showYampiLoader();
var data = {
shop: window.location.host,
shopify_internal_domain: shopifyInternalUrl,
cart_payload: cartPayload
};
if (!resp.active) {
hideYampiLoader();
} else {
var otherButtons =
document.getElementsByClassName('cartX_check_mainBtn');
window.yampiCheckoutUrl = resp.checkout_direct_url;
setTimeout(function () {
showYampiPurchaseConfirmation(resp.checkout_direct_url);
}, 500);
} else {
postAjax('/cart/clear.js', JSON.stringify({}), function
() {
window.location =
ymp_getUrlWithUtms(resp.checkout_direct_url);
});
}
} else {
hideYampiLoader();
if (formAction.includes('/cart') == true ||
formAction[0].includes('/cart') == true) {
if (getForm[i].getAttribute('id')){
cartFrmId = getForm[i].getAttribute('id');
} else {
getForm[i].setAttribute('id','ymp-
CrtpageMainFrm'); cartFrmId = getForm[i].getAttribute('id');
}
getForm[i].classList.add('ymp-CrtpageMainFrm');
getCheckoutBtn = getForm[i].elements['checkout'] ||
document.querySelector('a[href="/checkout"]') ||
document.querySelector('form[action="/cart"] input[type="submit"]');
if (getCheckoutBtn.length == undefined) {
var buttonValue = getCheckoutBtn.value ?
getCheckoutBtn.value : getCheckoutBtn.textContent;
} else {
var lastBtnID = getCheckoutBtn.length - 1;
var buttonValue =
getCheckoutBtn[lastBtnID].value ? getCheckoutBtn[lastBtnID].value :
getCheckoutBtn[lastBtnID].textContent;
}
var getSubBtnId = getCheckoutBtn.id;
if (getSubBtnId) {
getSubBtnId = getSubBtnId+'ympButton';
} else {
getSubBtnId = 'ympBtn';
}
if (getCheckoutBtn.length == undefined) {
var inptBtn = `<button type='submit'
class='`+getCheckoutBtn.className+` ymp_check_mainBtn ymp_elem_mainBtn'
id='`+getSubBtnId+`'>`+buttonValue+`</button>`;
getCheckoutBtn.insertAdjacentHTML('afterEnd',
inptBtn);
} else {
var inptBtn = `<button type='submit'
class='`+getCheckoutBtn[getCheckoutBtn.length - 1].className+` ymp_check_mainBtn
ymp_elem_mainBtn' id='`+getSubBtnId+`'>`+buttonValue+`</button>`;
getCheckoutBtn[getCheckoutBtn.length -
1].insertAdjacentHTML('afterEnd', inptBtn);
}
document.getElementById(getSubBtnId).addEventListener('click', fakeClick);
}
}
});
}
function showYampiPurchaseConfirmation(purchaseUrl) {
var element = document.getElementById('yampiPurchaseConfirmationWrapper');
element.setAttribute('class', 'active');
hideYampiLoader();
}
return xhr;
}
// Product
var ympData = '';
if (window.$ || window.jQuery) {
if (t.attr('onclick') == "window.location='/checkout'") {
t.attr('onclick', "window.location='/cart'");
}
});
$('.ymp_mainBtn').on('click', function(event){
event.preventDefault();
var form = $(this).parents('form[action="/cart/add"]');
var xhr = new XMLHttpRequest();
xhr.open('POST', '/cart/add.js', true);
xhr.setRequestHeader('Content-Type', 'application/x-
www-form-urlencoded');
xhr.onreadystatechange = function() {
if (this.readyState === XMLHttpRequest.DONE &&
this.status === 200) {
window.location.href = '/cart?
ref=yampi_buy_button'
}
}
xhr.send($(form).serialize());
});
} else {
ympSelectors.removeAttr('disabled');
}
}
};
xhttp.open('GET','https://api.dooki.com.br/v2/public/shopify/status?
shop=' + window.location.host);
xhttp.send();
}
}
function fakeClick(event) {
event.preventDefault();
showYampiLoader();
var data = {
shop: window.location.host,
cart_payload: cartPayload
};
window.location.href =
ymp_getUrlWithUtms(resp.checkout_direct_url);
});
});
}
function yampiClick() {
showYampiLoader();
var data = {
shop: window.location.host,
cart_payload: cartPayload
};
window.location.href =
ymp_getUrlWithUtms(resp.checkout_direct_url);
});
});
}
function getNewCheckoutURL() {
getAjax('/cart.json', function (response) {
var cartPayload = JSON.parse(response);
var data = {
shop: window.location.host,
cart_payload: cartPayload
};
if (currentPage == 'cart') {
window.location.href = ymp_getUrlWithUtms(window.yampiCheckoutUrl);
} else {
window.location = '/cart';
}
});
}
function isFacebookBrowser() {
var ua = navigator.userAgent || navigator.vendor || window.opera;
return (ua.indexOf("FBAN") > -1) || (ua.indexOf("FBAV") > -1);
}
function isAndroid() {
var ua = navigator.userAgent.toLowerCase();
return ua.indexOf("android") > -1;
}
if (ymp_hasUrlSupport) {
var ymp_terms = ['utm_source', 'utm_campaign', 'utm_term', 'utm_medium',
'utm_content'],
ymp_currentUrl = new URL(window.location.href),
ymp_urlParams = ymp_currentUrl.searchParams;
ymp_terms.forEach(function(term) {
if (ymp_urlParams.has(term)) {
ymp_setUtm(term, ymp_urlParams.get(term));
}
});
}
function ymp_getUrlWithUtms(url) {
if (!ymp_hasUrlSupport || !url) {
return url;
}
var currentUrl = new URL(url),
_ga = ymp_getCookie('_ga'),
cookiesUtms = ymp_getUtms();
cookiesUtms.forEach(function(value, key) {
currentUrl.searchParams.set(key, value);
});
if (_ga) {
currentUrl.searchParams.set('_ga', _ga);
}
return currentUrl.href;
}
params.set(term, value);
ymp_setCookie(ymp_utmCookieName, params.toString(), 30);
}
function ymp_getUtms() {
var currentUtms = ymp_getCookie(ymp_utmCookieName);
if (currentUtms) {
return new URLSearchParams(currentUtms);
}
function ymp_getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,
c.length);
}
return null;
}
</script>