任期

通过访问和使用 Tikt LLC (“ Tikt” 或“ tikt.io” ),您同意接受本文件所述的tikt.io 的服务条件的约束。 如果您不接受这些条件, 您则不允许使用 tikt.io 或其服务 。

tikt.io保留随时以任何理由,完全斟酌决定改变、改变、更新或终止服务条件的权利,继续使用tikt.io或其服务,从而同意受本服务条件文件今后任何版本的约束,因此,我们建议你不时审查这些服务条件。

如果违反服务条款,使用tikt.io或其服务的任何默示或明示的事先授权,应不经通知即予终止,任何违反这些服务条款的tikt.io的使用均应未经批准。

由于接受这些服务条件,没有与tikt.io建立雇主-雇员关系、伙伴关系或其他机构关系。

登记

你代表并授权我们:(A) 你是一个个人(即不是公司),你的法定年龄是签订具有约束力的合同或得到父母的许可,而且你至少年满13岁或13岁以上;(B) 你提交的所有登记资料都是准确和真实的;以及(C) 你将保持这种资料的准确性;你还证明,你在法律上被允许使用和获得这些服务,并对选择、使用和获得服务承担全部责任;在法律禁止的情况下,这项协议无效,任何获得tikt.io或其在这类管辖区的服务都被禁止。

内容

tikt.io保留其在tikt.io及其网站上任何原始内容的权利。

tikt.io 可能收集您使用 tikt.io 及其服务的信息。 例如, tikt.io 收集您的IP 地址用于利率限制记录, 如果您不是 UPGRADED 用户的话。 这是 Tikt. io 登录您的 IP 的唯一实例。 在任何转帐器上没有 IP 登录 IP 。 它不会将 IP 连接到它所录的任何视频或音频。 它只是统计该 IP 进行的记录, 直到 IP 达到 3 个请求 。 一小时后, 您的 IP 地址将过期。 这是 Tikt.io 将使用您的 IP IP 协议 地址 ( " IP " ) 的唯一实例。 任何其它用途都将被明确禁止, 因为 tikt.io io 将不登录在它使用的任何服务器上。 它也可以在创建账户中收集您提供的信息 。 尽管您拥有个人数据和信息, 并且通过使用 tikt.io 及其服务, 您会提供访问、 收集、 和存储这些用户数据和信息的授权和许可 。 您所使用的任何链接 。

您表示您有权提供您的用户信息 tikt.io 。 您还同意您提交到 tikt.io 的所有用户信息, 无论是明确还是通过使用 tikt.io 及其服务, 都将被Tikt. io 的隐私政策收集并管理 。

tikt.io使用社会媒体服务( " 社会媒体图标 " )的某些图标,引导用户在tikt.io网站上了解这种社会媒体服务的内容记录信息,使用这些图标并不反映社会媒体网站对tikt.io或其服务的任何认可。

Tikt.io除了收集用户提供的信息外,也不收集或储存任何第三方内容或信息。

使用与 tikt.io 连接到第三方内容的链接时,您明白您对使用 tikt.io 服务链接负有全部责任。 tikt.io 不负责通过这种链接或链接材料获取的任何内容。 您承担全部责任 。

tikt.io并不直接存储与第三方内容的任何链接,而只是管道内容。因此,tikt.io只能访问不受DRM保护的内容。由于您负责提供与tikt.io及其服务所使用的链接,tikt.io既不审查也不认可第三方网站的内容。此外,tikt.io并不主张对此类内容拥有任何权利。您承认,通过提交 tikt.io 的链接访问的内容和材料及其服务可能并不总是准确、完整或更新。

某些内容可能包含数字权利机制,防止获取或储存这类内容,你同意不试图规避这类数字权利机制。

你使用任何链接作为自己的酌处权和风险。你明白的。

jikt.io尊重他人的知识产权,不允许或容忍侵犯版权的活动,这就是为什么这项服务只允许公开记录网上内容的原因。

tikt.io 也不存储通过其服务或网站访问的任何第三方内容。 因此, 我们无法删除任何内容 。 如果您想要删除或禁用其他网站提供的内容, 请直接向主机提供方( 如Instagram、 FaceBook、Pinterest等 ) 发出任何通知 。 您可以通过以下链接联系其中一些 : Instagma 收缩, 收取利息.

行为

tikt.itikt.io及其服务只能用于个人和非商业用途。 严格禁止对tikt.io的任何商业用途。 tikt.io仅试图使用户能够通过使用其服务,以录像机的形式制作可访问的在线内容副本,供用户私人和非商业使用(“公平使用”),但并不包括在未经所有人明确授权的情况下在任何公共平台上公布所录制的视频。任何第三方内容的使用都必须得到这类内容及其知识产权所有人的授权。用户仅对使用tikt.io.tikt.io承担全部责任,仅作为技术服务提供者。

此外,你同意不:

  • 违反贵国管辖范围内的任何法律,包括任何反海盗法律。
  • 冒充任何第三方或第三方。
  • 干扰其他tikt.io用户的活动。

你同意负责任地使用tikt.io的服务。

任何违反本服务条款和任何一方权利的行为,都可能导致tikt.io或其他第三方实施民事或刑事处罚。

DMCAC 政策

tikt.io本身不在其网站或服务器上存储第三方内容,我们的例子代码表明,如何配置画廊-dl或类似的和python来完成 要取消订阅,请点击此处tikt.io/refund/;或 0) { var dur = parseFloat(attrDuration); info.data('duration', dur); info.find('.clip-fields').show(); info.find('.clip-loading').hide(); initClipSlider(info, dur); } else { info.find('.clip-loading').show(); info.find('.clip-fields').hide(); info.find('.clip-error').hide(); var itemPageUrl = info.attr('data-item-page-url') || ''; var pageUrl = decodeURIComponent(info.find('.download-button').data('page-url') || ''); var directUrl = decodeURIComponent(info.find('.download-button').data('url') || ''); var fetchUrl = itemPageUrl || pageUrl || directUrl; $.ajax({ url: '/api/duration/', type: 'POST', data: { url: fetchUrl, csrfmiddlewaretoken: 'jIh3KejI4IQ96PaJCVsbV8RVyrd2K7KjVasplUUiwB1IHnyHVsZTguhxjckx5o24' }, success: function(data) { if (data.duration) { info.data('duration', data.duration); info.find('.clip-loading').hide(); info.find('.clip-fields').show(); initClipSlider(info, data.duration); } else { info.find('.clip-loading').hide(); info.find('.clip-error').text('Could not get duration').show(); } }, error: function() { info.find('.clip-loading').hide(); info.find('.clip-error').text('Could not get duration').show(); } }); } } } else { clipInputs.hide(); } resetDownloadButton(info); }); container.on("click", ".download-button", function (e) { var target = $(this); var info = target.closest('.result-item-info'); var itemType = target.data('type') || ''; var format = info.find('[data-input=format]:checked').val() || ''; var quality = info.find('[data-input=quality]').val() || ''; var h264 = info.find('input[name=h264]').is(':checked'); // Image conversion (available to all users) if (itemType === 'image' && GO_API_URL) { var imgFormat = info.find('[data-input=img-format]:checked').val() || ''; var imgWidth = info.find('[data-input=img-width]').val() || ''; var imgHeight = info.find('[data-input=img-height]').val() || ''; var imgAspectRatio = info.find('[data-input=img-aspect-ratio]').val() || ''; var needsImageConversion = imgFormat !== '' || imgWidth !== '' || imgHeight !== '' || imgAspectRatio !== ''; if (needsImageConversion) { e.preventDefault(); if (!hasPro) { var modal = new bootstrap.Modal(document.getElementById('upgradeModal')); modal.show(); return; } var sourceUrl = decodeURIComponent(target.data('url')); var fn = target.data('fn') || 'image'; var form = document.createElement('form'); form.method = 'POST'; form.action = '/api/convert/image/'; form.style.display = 'none'; function addImgField(name, value) { var input = document.createElement('input'); input.type = 'hidden'; input.name = name; input.value = value; form.appendChild(input); } addImgField('csrfmiddlewaretoken', 'jIh3KejI4IQ96PaJCVsbV8RVyrd2K7KjVasplUUiwB1IHnyHVsZTguhxjckx5o24'); addImgField('url', sourceUrl); addImgField('title', fn); if (imgFormat) addImgField('image_format', imgFormat); if (imgWidth) addImgField('width', imgWidth); if (imgHeight) addImgField('height', imgHeight); if (imgAspectRatio) addImgField('aspect_ratio', imgAspectRatio); document.body.appendChild(form); form.submit(); document.body.removeChild(form); onDownloadButton.call(target[0]); return; } } var needsConversion = (format === 'wav') || (quality !== '') || h264; if (needsConversion && !hasPro) { e.preventDefault(); var modal = new bootstrap.Modal(document.getElementById('upgradeModal')); modal.show(); return; } if (needsConversion && GO_API_URL) { e.preventDefault(); var pageUrl = decodeURIComponent(target.data('page-url') || ''); var fn = target.data('fn') || 'download'; var sourceUrl = pageUrl; if (pageUrl.indexOf('tiktok.com') !== -1) { var proxyType = (itemType === 'audio') ? 'audio' : 'video'; sourceUrl = GO_API_URL + '/api/proxy?url=' + encodeURIComponent(pageUrl) + '&type=' + proxyType + '&fn=' + encodeURIComponent(fn); } var fmt; if (format === 'wav') { fmt = 'wav'; } else if (itemType === 'audio') { fmt = 'mp3'; } else { fmt = 'mp4'; } var form = document.createElement('form'); form.method = 'POST'; form.action = '/api/convert/' + fmt + '/'; form.style.display = 'none'; function addField(name, value) { var input = document.createElement('input'); input.type = 'hidden'; input.name = name; input.value = value; form.appendChild(input); } addField('csrfmiddlewaretoken', 'jIh3KejI4IQ96PaJCVsbV8RVyrd2K7KjVasplUUiwB1IHnyHVsZTguhxjckx5o24'); addField('url', sourceUrl); addField('title', fn); if (fmt === 'mp3' && quality) addField('audio_quality', quality + 'k'); if (fmt === 'mp4' && quality) addField('video_quality', quality); if (fmt === 'mp4' && h264) addField('h264', 'true'); document.body.appendChild(form); form.submit(); document.body.removeChild(form); onDownloadButton.call(this); } else { onDownloadButton.call(this); } }); container.on("change", "[data-input=format]", function () { var info = $(this).closest('.result-item-info'); var row = info.find('.quality-row'); if ($(this).val() === 'wav') { row.addClass("d-none"); } else { row.removeClass("d-none"); } resetDownloadButton(info); }); container.on("change input", "[data-input=quality]", function () { resetDownloadButton($(this).closest('.result-item-info')); }); container.on("change", "input[name=h264]", function () { resetDownloadButton($(this).closest('.result-item-info')); }); onChangeURLValue(); function onDownloadAll() { var target = $(this); target.find(".spinner-border").removeClass("d-none"); target.prop("disabled", true); var filter = container.find('input[name="downloadFilter"]:checked').val() || 'all'; var downloadLinks = []; var downloadButtons = container.find(".download-button"); downloadButtons.each(function (index, item) { var type = $(item).data("type") || ""; if (filter === "all" || type === filter || (filter === "video" && (type === "video" || type === "video_watermark"))) { downloadLinks.push($(item).data("url")); $(item).addClass("downloaded"); } }); if (downloadLinks.length === 0) { target.find(".spinner-border").addClass("d-none"); target.prop("disabled", false); return; } var batchDownloadI18n = { intro: "We detected {count} files. To keep things reliable we will download them in {n} batches of up to {size}. Each batch is saved separately as it finishes.", progress: "Batch {current} of {total}", retrying: "Batch {batch} failed, retrying in {sec}s…", failed: "Batch {batch} failed after retries. Press Resume to try again.", done_status: "All batches downloaded.", resume_prompt: "You already downloaded {done} of {total} batches for this list. Continue from there?", cancel_confirm: "Cancel the remaining batches?" }; batchDownload.show({ urls: downloadLinks, baseName: "Tikt", csrfToken: "jIh3KejI4IQ96PaJCVsbV8RVyrd2K7KjVasplUUiwB1IHnyHVsZTguhxjckx5o24", goApiUrl: GO_API_URL || "", i18n: batchDownloadI18n, onAllDone: function () { setTimeout(function () { target.find(".spinner-border").addClass("d-none"); target.text('分享 Tikt.io'); target.removeClass('btn-primary').addClass('btn-success'); target.prop("disabled", false); launchConfetti(target, 150, 2200); }, 100); }, onError: function (err) { alert(err && err.message ? err.message : err); target.find(".spinner-border").addClass("d-none"); target.prop("disabled", false); }, onCancel: function () { target.find(".spinner-border").addClass("d-none"); target.prop("disabled", false); } }); } var individualDownloadCount = 0; function onDownloadButton() { var target = $(this); if (!target.data('original-html')) { target.data('original-html', target.html()); target.data('original-class', target.attr('class')); } target.find(".spinner-border").removeClass("d-none"); setTimeout(function () { target.find(".spinner-border").addClass("d-none"); target.text('分享 Tikt.io'); target.removeClass('btn-outline-primary').addClass('btn-success'); launchConfetti(target, 150, 2200); }, 100) if (!hasPro) { individualDownloadCount++; var banner = $('#batchUpsellBanner'); if (banner.length && individualDownloadCount >= 3) { $('#batchUpsellCount').text(individualDownloadCount); banner.removeClass('d-none'); } } } function resetDownloadButton(info) { var btn = info.find('.download-button'); var originalHtml = btn.data('original-html'); if (originalHtml) { btn.html(originalHtml); btn.attr('class', btn.data('original-class')); } } // Multi-select for batch download container.on('change', '.select-item-checkbox', function () { var checked = container.find('.select-item-checkbox:checked'); var count = checked.length; if (!hasPro && count > 1) { $(this).prop('checked', false); var modal = new bootstrap.Modal(document.getElementById('upgradeModal')); modal.show(); return; } $('#selectedCount').text(count); if (count > 1) { $('#downloadSelectedBtn').removeClass('d-none'); } else { $('#downloadSelectedBtn').addClass('d-none'); } }); $('#downloadSelectedBtn').on('click', function () { var target = $(this); target.find('.spinner-border').removeClass('d-none'); target.prop('disabled', true); var selectedUrls = []; container.find('.select-item-checkbox:checked').each(function () { selectedUrls.push($(this).data('url')); }); if (selectedUrls.length === 0) { target.find('.spinner-border').addClass('d-none'); target.prop('disabled', false); return; } var batchDownloadI18n = { intro: "We detected {count} files. To keep things reliable we will download them in {n} batches of up to {size}. Each batch is saved separately as it finishes.", progress: "Batch {current} of {total}", retrying: "Batch {batch} failed, retrying in {sec}s…", failed: "Batch {batch} failed after retries. Press Resume to try again.", done_status: "All batches downloaded.", resume_prompt: "You already downloaded {done} of {total} batches for this list. Continue from there?", cancel_confirm: "Cancel the remaining batches?" }; batchDownload.show({ urls: selectedUrls, baseName: "Tikt-selected", csrfToken: "jIh3KejI4IQ96PaJCVsbV8RVyrd2K7KjVasplUUiwB1IHnyHVsZTguhxjckx5o24", goApiUrl: GO_API_URL || "", i18n: batchDownloadI18n, onAllDone: function () { target.find('.spinner-border').addClass('d-none'); target.prop('disabled', false); launchConfetti(target, 150, 2200); }, onError: function (err) { alert(err && err.message ? err.message : 'An error occurred'); target.find('.spinner-border').addClass('d-none'); target.prop('disabled', false); }, onCancel: function () { target.find('.spinner-border').addClass('d-none'); target.prop('disabled', false); } }); }); function launchConfetti($btn, amount, lifetime) { var colors = ['#FF4757', '#2ED573', '#1E90FF', '#FFA502', '#A55EEA', '#2ECC71', '#FF6B81']; var offset = $btn.offset(); var btnWidth = $btn.outerWidth(); var btnHeight = $btn.outerHeight(); for (var i = 0; i < amount; i++) { var $c = $(''); var size = 3 + Math.random() * 4; // 🎯 más pequeño: 3–7 px var dur = 0.8 + Math.random() * 0.8; // más rápido: 0.8–1.6 s var delay = Math.random() * 0.2; var color = colors[Math.floor(Math.random() * colors.length)]; var rotateStart = Math.floor(Math.random() * 360); var startLeft = offset.left + Math.random() * btnWidth; var startTop = offset.top + Math.random() * btnHeight; $c.css({ position: 'absolute', left: startLeft + 'px', top: startTop + 'px', background: color, width: size + 'px', height: (size + 2) + 'px', transform: 'rotate(' + rotateStart + 'deg)', animation: 'fall linear forwards', animationDuration: dur + 's', animationDelay: delay + 's', zIndex: 9999, pointerEvents: 'none', opacity: 0.9 }); $('body').append($c); (function (el) { setTimeout(function () { el.remove(); }, lifetime || 2000); })($c); } } function onChangeURLValue() { const inputValue = $('#url').val(); if (!inputValue) { return } const button = $('#copyPasteText'); const pasteText = button.data('paste'); const clearText = button.data('clear'); if (inputValue.trim() === '') { button.text(pasteText); } else { button.text(clearText); } } function onLoadMore() { var wrapper = $(this).closest(".job-wrapper"); container.find("#loadMoreEntries").prop("disabled", true); container.find("#loadMoreEntries").find(".spinner-border").removeClass("d-none"); var target = container.find("#form"); var formData = target.serializeArray(); var nextPageToken = wrapper.find("[name=next_page_token]").val(); formData.push({name: 'page', value: page}); formData.push({name: 'next_page_token', value: nextPageToken}); $.ajax({ url: `/api/extract/`, type: 'POST', data: formData, success: function (data) { if (data.error === true || data.success === false) { $('.m-progress').removeClass('m-progress').removeAttr('disabled'); container.find("#loadMoreEntries .spinner-border").addClass("d-none"); container.find("#loadMoreEntries").prop("disabled", false); if (data.html) { wrapper.find(".job-result").append(data.html); } return; } wrapper.find("#actionsWrapper").remove(); wrapper.find(`.job-result #postListWrapper`).append(data.html); wrapper.find(`[name=next_page_token]`).val(data.next_page_token); if (!data.next_page_token) { container.find("#loadMoreEntries").remove(); } else { container.find("#loadMoreEntries .spinner-border").addClass("d-none"); container.find("#loadMoreEntries").removeClass('m-progress').removeAttr('disabled'); } initializeLazyLoad(); page += 1; }, error: function (xhr, status, error) { container.find("#loadMoreEntries .spinner-border").addClass("d-none"); container.find("#loadMoreEntries").prop("disabled", false); try { var response = JSON.parse(xhr.responseText); if (response.html) { wrapper.find(".job-result").append(response.html); } } catch (e) { alert(error); } } }); } function onSubmit(e) { page = 1; var target = $(this); container.find("#result").html(""); container.find("#heading").html(""); e.preventDefault(); var urlInput = target.find("#url").val(); if (!isValidURL(urlInput)) { alert("请输入有效的 URL"); return; } target.find("button").addClass("m-progress").attr('disabled', 'disabled'); // Show loader var wrapperId = 'extract-' + Date.now(); var wrapperHtml = "

"; container.find("#result").append(wrapperHtml); container.find("#" + wrapperId + " .job-result").append($(loader)); $.ajax({ url: `/api/extract/`, type: 'POST', data: target.serialize(), success: function (data) { if (data.error === true || data.success === false) { $('.m-progress').removeClass('m-progress').removeAttr('disabled'); if (data.html) { container.find("#" + wrapperId + " .job-result").html(data.html); } else { container.find("#" + wrapperId + " .job-result").html( '
出现未知错误。
' ); } return; } container.find("#heading").html(data.heading); container.find("#" + wrapperId + " .job-result").html(data.html); container.find("#" + wrapperId + " [name=next_page_token]").val(data.next_page_token); if (!data.next_page_token) { container.find("#loadMoreEntries").remove(); } $('.m-progress').removeClass('m-progress').removeAttr('disabled'); initializeLazyLoad(); page += 1; }, error: function (xhr, status, error) { $('.m-progress').removeClass('m-progress').removeAttr('disabled'); try { var errorJSON = JSON.parse(xhr.responseText); // Rate limit error if (errorJSON.rate_limit || errorJSON.no_credits) { container.find("#" + wrapperId).remove(); container.find("#rateModal .exceeded-wrapper").html(errorJSON.error); container.find('#rateModal').modal('show'); if (errorJSON.until) { var rateInterval; var totalSeconds = errorJSON.until; container.find('.time-exceeded').text(utils.formatDuration(totalSeconds)); rateInterval = setInterval( function () { totalSeconds--; container.find('.time-exceeded').text(utils.formatDuration(totalSeconds)); if (totalSeconds < 0) { clearInterval(rateInterval); window.location.reload(); } }, 1000 ); } return; } // Bulk URL error if (errorJSON.bulk === false) { container.find("#" + wrapperId).remove(); container.find("#rateModal .exceeded-wrapper").html(errorJSON.error); container.find('#rateModal').modal('show'); return; } // Other error with HTML if (errorJSON.html) { container.find("#" + wrapperId + " .job-result").html(errorJSON.html); } else if (errorJSON.error) { container.find("#" + wrapperId + " .job-result").html( '
' + errorJSON.error + '
' ); } } catch (e) { container.find("#" + wrapperId + " .job-result").html( '
处理请求时发生错误。
' ); } } }); } function isValidURL(string) { try { // Extraer solo la parte antes de los parámetros (?) let baseUrl = string.split("?")[0]; // Intentar crear un objeto URL para validar let url = new URL(baseUrl); // Asegurar que el hostname (dominio) es válido return !!(url.hostname && url.hostname.includes(".")); } catch (e) { return false; // Si la URL no es válida, devolver false } } function getResults(jobId, $wrapper, onComplete, next_page_token) { $.ajax({ url: `/api/result/`, type: 'GET', data: { job_id: jobId, nextPageToken: next_page_token, }, success: function (data) { if (data.loading) { setTimeout(function () { getResults(jobId, $wrapper, onComplete, next_page_token); }, 4000); return; } // Check if response indicates failure (even with status 200) // This happens when job completes but with errors if (data.error === true || data.success === false) { $('.m-progress').removeClass('m-progress').removeAttr('disabled'); if (data.html) { container.find(`#${jobId} .job-result`).html(data.html); } else { container.find(`#${jobId} .job-result`).html( '
出现未知错误。
' ); } if (onComplete) onComplete(); return; } container.find("#heading").html(data.heading); if (page > 1 && $wrapper) { $wrapper.find("#actionsWrapper").remove(); $wrapper.find(`.job-result #postListWrapper`).append(data.html); $wrapper.find(`[name=next_page_token]`).val(data.next_page_token); } else { container.find(`#${jobId} .job-result`).html(data.html); container.find(`#${jobId} [name=next_page_token]`).val(data.next_page_token); } if (!data.next_page_token) { container.find("#loadMoreEntries").remove(); } else { container.find("#loadMoreEntries .spinner-border").addClass("d-none"); container.find("#loadMoreEntries").removeClass('m-progress').removeAttr('disabled'); } $('.m-progress').removeClass('m-progress').removeAttr('disabled'); initializeLazyLoad(); page += 1; if (onComplete) onComplete(); }, error: function (xhr, status, error) { $('.m-progress').removeClass('m-progress').removeAttr('disabled'); try { const response = JSON.parse(xhr.responseText); if (response.html) { container.find(`#${jobId} .job-result`).html(response.html); } else { container.find(`#${jobId} .job-result`).html( '
出现未知错误。
' ); } } catch (e) { container.find(`#${jobId} .job-result`).html( '
处理请求时发生错误。
' ); } if (onComplete) onComplete(); } }); } function initializeLazyLoad() { const lazyImages = document.querySelectorAll('img.lazyload[data-src]'); if (!('IntersectionObserver' in window)) { // Fallback simple para navegadores antiguos lazyImages.forEach(img => { img.src = img.getAttribute('data-src'); img.removeAttribute('data-src'); img.classList.remove('lazyload'); }); return; } const observer = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { const img = entry.target; if (!img.getAttribute('data-src')) return; img.src = img.getAttribute('data-src'); img.removeAttribute('data-src'); img.onload = () => { const parent = img.closest('.thumbnail-container') || img.closest('.result-image'); const loader = parent ? parent.querySelector('.loader-gif') : null; if (loader) { loader.style.display = 'none'; } }; img.classList.remove('lazyload'); observer.unobserve(img); } }); }); lazyImages.forEach(img => observer.observe(img)); // Initialize Bootstrap tooltips on newly loaded content document.querySelectorAll('[data-bs-toggle="tooltip"]').forEach(function(el) { if (!bootstrap.Tooltip.getInstance(el)) { new bootstrap.Tooltip(el); } }); } } ); }());