Store
 

Ondersteunt VPN Tracker SSL VPN? - KH1655

Veelgestelde vragen

Ondersteunt VPN Tracker SSL VPN?
 
Sommige VPN-leveranciers bieden "SSL VPN" aan als alternatief voor IPsec VPN. SSL VPN is geen enkele standaard, maar elke leverancier heeft zijn eigen specifieke type "SSL VPN". VPN Tracker 365 biedt volledige ondersteuning voor SonicWALL SSL-verbindingen, maar we zijn van plan om in de toekomst ook enkele van de andere populaire SSL VPN-varianten te ondersteunen. Als u een SSL VPN-verbinding heeft waarvoor u ondersteuning wilt, { element.addEventListener("mousedown", function(event) { if (event.detail > 1) { event.preventDefault(); } }); }); } function refreshCurrentLang(lang) { const url = new URL(window.location.href); url.searchParams.set('lang', lang); url.pathname = url.pathname.replace('/' + initialLang + '/faq', '/' + lang + '/faq'); url.pathname = url.pathname.replace('/us/faq', '/' + lang + '/faq'); url.pathname = url.pathname.replace('/en/faq', '/' + lang + '/faq'); window.history.pushState({}, '', url); window.location.reload(); } function resetFilters() { articleId = null; searchTerm = null; document.getElementById('faq-search').value = ''; } function setupSearchHandler() { const searchInput = document.getElementById('faq-search'); const searchIcon = document.querySelector('.search-icon'); if (!searchInput || !searchIcon) { return; } searchIcon.addEventListener('click', function() { searchInput.focus(); // Focus input when icon is clicked }); searchInput.addEventListener('input', function() { searchTerm = searchInput.value.toLowerCase().trim(); updateFilters(); }); if (initialSearchTerm) { searchInput.value = initialSearchTerm; searchTerm = initialSearchTerm.toLowerCase().trim(); updateFilters(); } } function toggeProductArticleFilter(id) { if (articleId == id) { articleId = null; } else { articleId = id; } updateFilters(); } function updateFilters() { refreshProductArticleFilter(); refreshSearchFilter(); } function refreshProductArticleFilter() { const faqItems = document.querySelectorAll('.faq-item'); if (faqItems.length == 0) { return; } let mode = 'filter'; if (articleId == null) { const productArticles = document.querySelectorAll('.faq-product-article-item'); productArticles.forEach(item => { item.classList.remove('selected'); }); mode = 'reset'; } else { const productArticle = document.getElementById('product-article-' + articleId); if (!productArticle) { return; } productArticle.classList.add('selected'); const productArticles = document.querySelectorAll('.faq-product-article-item'); productArticles.forEach(item => { // only if not the current one if (item.id != productArticle.id) { item.classList.remove('selected'); } }); } faqItems.forEach(item => { let articles = item.getAttribute('data-product-articles'); if (!articles) { articles = ""; } articleTest = articles.split(',').filter(function(e) { return e.trim() != ''; }); const artikels = articles.split(','); item.style.display = (mode == 'reset' || articleTest.length == 0 || artikels.includes(articleId)) ? '' : 'none'; }); } function refreshSearchFilter() { if (!searchTerm) { return; } const searchWords = searchTerm.split(/\s+/); const faqItems = document.querySelectorAll('.faq-item'); faqItems.forEach(item => { const rawData = item.getAttribute('data-search-info'); const searchData = decodeHtmlEntities(rawData).toLowerCase(); const matchesAll = searchWords.every(word => searchData.includes(word)); item.style.display = (matchesAll && item.style.display != 'none') ? '' : 'none'; }); } function decodeHtmlEntities(encodedString) { const textArea = document.createElement('textarea'); textArea.innerHTML = encodedString; return textArea.value; } function jumpToInitial(faqId) { if (faqId) { const faqItem = document.getElementById('faq-item-' + faqId); if (faqItem) { setTimeout(() => { faqItem.scrollIntoView({ behavior: 'instant', block: 'start', inline: 'nearest' }); }, 1); } } } function openInitialFaq(faqId) { if (!faqId) { return; } let faqElement = document.getElementById("faq-answer-" + faqId); if (faqElement) { faqElement.classList.add("show"); } let faqItemPreloaded = document.getElementById('faq-answer-preloaded-' + faqId); if (faqItemPreloaded) { faqItemPreloaded.classList.remove('collapse'); lastFAQIdOpened = faqId; } } var lastFAQIdOpened = null; function toggleFaq(faqId) { let faqElement = document.getElementById("faq-answer-" + faqId); let contentContainer = document.getElementById('faq-answer-content-' + faqId); if (faqElement.classList.contains("show")) { faqElement.classList.remove("show"); let faqItemPreloaded = document.getElementById('faq-answer-preloaded-' + faqId); if (faqItemPreloaded) { faqItemPreloaded.classList.add('collapse'); } if (lastFAQIdOpened == faqId) { lastFAQIdOpened = null; } } else { faqElement.classList.add("show"); let faqItemPreloaded = document.getElementById('faq-answer-preloaded-' + faqId); if (faqItemPreloaded) { faqItemPreloaded.classList.remove('collapse'); } faqDisplayPreActions(faqId); if (lastFAQIdOpened == faqId) { return false; } lastFAQIdOpened = faqId; Livewire.dispatch("loadFAQDetails", { faqId: faqId }); // setTimeout(() => { // Livewire.dispatch("loadFAQDetails", { // faqId: faqId // }); // }, 1); } } window.addEventListener('faqLoaded', function(event) { let faqId = event.detail?.faqId; let content = event.detail?.content; let contentContainer = document.getElementById('faq-answer-content-' + faqId); if (content && contentContainer) { let faqElement = document.getElementById("faq-answer-" + faqId); if (!faqElement.classList.contains("show")) { faqElement.classList.add("show"); } contentContainer.innerHTML = content; let faqItemPreloaded = document.getElementById('faq-answer-preloaded-' + faqId); if (faqItemPreloaded) { faqItemPreloaded.classList.add('collapse'); } faqDisplayPostActions(faqId); } }); function generateSlugLink(faqId, faqItem) { const slug = faqItem.getAttribute('data-slug'); const question = faqItem.querySelector('.faq-question').innerText; const productid = faqItem.getAttribute('data-productid'); return `/nl/faq/${faqId}/${productid}/${slug}/KH${faqId}?identifier=equinux.com`; } function faqDisplayPreActions(faqId) { const faqItem = document.getElementById('faq-item-' + faqId); if (!faqItem) { return; } const newUrl = generateSlugLink(faqId, faqItem); history.pushState(null, '', newUrl); } function faqDisplayPostActions(faqId) { const faqItem = document.getElementById('faq-item-' + faqId); if (!faqItem) { return; } // update all the meta info updateFAQMetaInfo(faqId); // register new handlers setTimeout(() => { updateFilters(); setupRatingHandlers(); }, 1); } function updateFAQMetaInfo(faqId) { const faqItem = document.getElementById('faq-item-' + faqId); if (!faqItem) { return; } // fetch the question and answer aswell as the data-search-info const question = faqItem.querySelector('.faq-question').innerText; const answer = faqItem.querySelector('.faq-answer-content').innerText; const searchInfo = faqItem.getAttribute('data-search-info'); // remove all html tags and newlines from the question and answer const cleanQuestion = question.replace(/<\/?[^>]+(>|$)/g, "").replace(/\n/g, " "); const cleanAnswer = answer.replace(/<\/?[^>]+(>|$)/g, "").replace(/\n/g, " "); // update the canonical URL const hostname = window.location.hostname; const protocol = window.location.protocol; const port = window.location.port ? ':' + window.location.port : ''; const newUrl = generateSlugLink(faqId, faqItem); const canonicalUrl = `${protocol}//${hostname}${port}${newUrl}`; const canonicalLink = document.querySelector('link[rel="canonical"]'); if (canonicalLink) { canonicalLink.setAttribute('href', canonicalUrl); } else { const newCanonicalLink = document.createElement('link'); newCanonicalLink.setAttribute('rel', 'canonical'); newCanonicalLink.setAttribute('href', canonicalUrl); document.head.appendChild(newCanonicalLink); } // also update the document title const title = document.querySelector('title'); if (title) { title.innerText = cleanQuestion; } // update the meta title const metaTitle = document.querySelector('meta[name="title"]'); if (metaTitle) { metaTitle.setAttribute('content', cleanQuestion); } else { const newMetaTitle = document.createElement('meta'); newMetaTitle.setAttribute('name', 'title'); newMetaTitle.setAttribute('content', cleanQuestion); document.head.appendChild(newMetaTitle); } // update the meta description const metaDescription = document.querySelector('meta[name="description"]'); if (metaDescription) { metaDescription.setAttribute('content', cleanQuestion + ' ' + cleanAnswer); } // update the meta keywords const metaKeywords = document.querySelector('meta[name="keywords"]'); if (metaKeywords) { metaKeywords.setAttribute('content', searchInfo); } // update/create the meta og:title const metaOgTitle = document.querySelector('meta[property="og:title"]'); if (metaOgTitle) { metaOgTitle.setAttribute('content', cleanQuestion); } else { const newMetaOgTitle = document.createElement('meta'); newMetaOgTitle.setAttribute('property', 'og:title'); newMetaOgTitle.setAttribute('content', cleanQuestion); document.head.appendChild(newMetaOgTitle); } // update/create the meta og:description const metaOgDescription = document.querySelector('meta[property="og:description"]'); if (metaOgDescription) { metaOgDescription.setAttribute('content', cleanQuestion + ' ' + cleanAnswer); } // update/create the meta og:url const metaOgUrl = document.querySelector('meta[property="og:url"]'); if (metaOgUrl) { metaOgUrl.setAttribute('content', canonicalUrl); } else { const newMetaOgUrl = document.createElement('meta'); newMetaOgUrl.setAttribute('property', 'og:url'); newMetaOgUrl.setAttribute('content', canonicalUrl); document.head.appendChild(newMetaOgUrl); } } let currentProductSelection = null; function setupProductObserver() { const productDropdown = document.getElementById('productDropdown'); if (productDropdown) { productDropdown.addEventListener('click', function() { const dropdownItems = document.querySelectorAll('.dropdown-item'); dropdownItems.forEach(item => { item.addEventListener('click', function() { let newProductSelection = this.textContent.trim(); if (newProductSelection != currentProductSelection) { currentProductSelection = newProductSelection; } resetFilters(); }); }); }); } } function isElementInViewport(el) { const rect = el.getBoundingClientRect(); return ( rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth) ); } function setupRatingHandlers() { document.querySelectorAll('.rating-star').forEach(star => { if (star.classList.contains('disabled')) { return; } star.addEventListener('mouseover', function() { const faqid = this.getAttribute('data-faq-id'); const rating = parseInt(this.getAttribute('data-rating')); document.querySelectorAll(`.rating-star[data-faq-id="${faqid}"]`).forEach(s => { if (parseInt(s.getAttribute('data-rating')) <= rating) { s.classList.remove('waiting'); s.classList.add('selected'); } else { s.classList.remove('selected'); s.classList.add('waiting'); } }); }); star.addEventListener('mouseout', function() { const faqid = this.getAttribute('data-faq-id'); document.querySelectorAll(`.rating-star[data-faq-id="${faqid}"]`).forEach(s => { if (!s.classList.contains('disabled')) { s.classList.remove('selected'); s.classList.add('waiting'); } }); }); }); document.querySelectorAll('.rating-star').forEach(button => { button.addEventListener('click', function(event) { event.preventDefault(); const faqId = this.getAttribute('data-faq-id'); const rating = this.getAttribute('data-rating'); const url = `/rate/stars/faq/${faqId}/0/nl/${rating}`; const csrfToken = document.querySelector('meta[name="csrf-token"]').getAttribute('content'); fetch(url, { method: 'GET', headers: { 'Content-Type': 'application/json', 'X-CSRF-TOKEN': csrfToken, 'X-Requested-With': 'XMLHttpRequest' }, // body: JSON.stringify({ // rating: rating // }) }) .then(response => response.json()) .then(data => { if (data && data === 1) { document.querySelectorAll(`.rating-star[data-faq-id="${faqId}"]`).forEach(btn => { btn.classList.remove('waiting'); btn.classList.add('disabled'); if (parseInt(btn.getAttribute('data-rating')) <= rating) { btn.classList.add('selected'); } else { btn.classList.add('inactive'); } }); // this.classList.add('selected'); } }) .catch(data => console.error('Error:', data)); }); }); document.querySelectorAll('.helpful-btn').forEach(button => { button.addEventListener('click', function(event) { event.preventDefault(); const faqId = this.getAttribute('data-faq-id'); const helpful = this.getAttribute('data-helpful'); const url = `/rate/helpful/faq/${faqId}/0/nl/${helpful}`; const csrfToken = document.querySelector('meta[name="csrf-token"]').getAttribute('content'); fetch(url, { method: 'GET', headers: { 'Content-Type': 'application/json', 'X-CSRF-TOKEN': csrfToken, 'X-Requested-With': 'XMLHttpRequest' }, // body: JSON.stringify({ // helpful: helpful // }) }) .then(response => response.json()) .then(data => { if (data && data === 1) { document.querySelectorAll(`.helpful-btn[data-faq-id="${faqId}"]`).forEach(btn => { btn.classList.remove('waiting'); btn.classList.add('inactive'); btn.classList.add('disabled'); }); this.classList.add('selected'); } }) .catch(data => console.error('Error:', data)); }); }); }