Обновить test.html
This commit is contained in:
parent
b4e6e01787
commit
9a12cbbfb7
187
test.html
187
test.html
@ -20,116 +20,43 @@
|
|||||||
Определение вашей операционной системы...
|
Определение вашей операционной системы...
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="accordion" id="appsAccordion">
|
<div id="appsAccordionContainer">
|
||||||
<div class="accordion-item">
|
<div class="accordion" id="appsAccordion">
|
||||||
<h2 class="accordion-header" id="headingAndroid">
|
<div class="accordion-item" data-os="Android">
|
||||||
<button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseAndroid" aria-expanded="true" aria-controls="collapseAndroid">
|
<h2 class="accordion-header" id="headingAndroid">
|
||||||
Приложения для Android
|
<button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseAndroid" aria-expanded="true" aria-controls="collapseAndroid">
|
||||||
</button>
|
Приложения для Android
|
||||||
</h2>
|
</button>
|
||||||
<div id="collapseAndroid" class="accordion-collapse collapse" aria-labelledby="headingAndroid" data-bs-parent="#appsAccordion">
|
</h2>
|
||||||
<div class="accordion-body">
|
<div id="collapseAndroid" class="accordion-collapse collapse" aria-labelledby="headingAndroid" data-bs-parent="#appsAccordion">
|
||||||
<div class="accordion" id="androidSubAccordion">
|
<div class="accordion-body">
|
||||||
<div class="accordion-item">
|
<p>Описание приложений для Android.</p>
|
||||||
<h2 class="accordion-header" id="headingAndroidApp1">
|
|
||||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseAndroidApp1" aria-expanded="false" aria-controls="collapseAndroidApp1">
|
|
||||||
Приложение 1
|
|
||||||
</button>
|
|
||||||
</h2>
|
|
||||||
<div id="collapseAndroidApp1" class="accordion-collapse collapse" aria-labelledby="headingAndroidApp1" data-bs-parent="#androidSubAccordion">
|
|
||||||
<div class="accordion-body">
|
|
||||||
<p>Описание приложения 1 для Android.</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="accordion-item">
|
|
||||||
<h2 class="accordion-header" id="headingAndroidApp2">
|
|
||||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseAndroidApp2" aria-expanded="false" aria-controls="collapseAndroidApp2">
|
|
||||||
Приложение 2
|
|
||||||
</button>
|
|
||||||
</h2>
|
|
||||||
<div id="collapseAndroidApp2" class="accordion-collapse collapse" aria-labelledby="headingAndroidApp2" data-bs-parent="#androidSubAccordion">
|
|
||||||
<div class="accordion-body">
|
|
||||||
<p>Описание приложения 2 для Android.</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="accordion-item">
|
<div class="accordion-item" data-os="iOS">
|
||||||
<h2 class="accordion-header" id="headingiOS">
|
<h2 class="accordion-header" id="headingiOS">
|
||||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseiOS" aria-expanded="false" aria-controls="collapseiOS">
|
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseiOS" aria-expanded="false" aria-controls="collapseiOS">
|
||||||
Приложения для iOS
|
Приложения для iOS
|
||||||
</button>
|
</button>
|
||||||
</h2>
|
</h2>
|
||||||
<div id="collapseiOS" class="accordion-collapse collapse" aria-labelledby="headingiOS" data-bs-parent="#appsAccordion">
|
<div id="collapseiOS" class="accordion-collapse collapse" aria-labelledby="headingiOS" data-bs-parent="#appsAccordion">
|
||||||
<div class="accordion-body">
|
<div class="accordion-body">
|
||||||
<div class="accordion" id="iosSubAccordion">
|
<p>Описание приложений для iOS.</p>
|
||||||
<div class="accordion-item">
|
|
||||||
<h2 class="accordion-header" id="headingiOSApp1">
|
|
||||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseiOSApp1" aria-expanded="false" aria-controls="collapseiOSApp1">
|
|
||||||
Приложение 1
|
|
||||||
</button>
|
|
||||||
</h2>
|
|
||||||
<div id="collapseiOSApp1" class="accordion-collapse collapse" aria-labelledby="headingiOSApp1" data-bs-parent="#iosSubAccordion">
|
|
||||||
<div class="accordion-body">
|
|
||||||
<p>Описание приложения 1 для iOS.</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="accordion-item">
|
|
||||||
<h2 class="accordion-header" id="headingiOSApp2">
|
|
||||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseiOSApp2" aria-expanded="false" aria-controls="collapseiOSApp2">
|
|
||||||
Приложение 2
|
|
||||||
</button>
|
|
||||||
</h2>
|
|
||||||
<div id="collapseiOSApp2" class="accordion-collapse collapse" aria-labelledby="headingiOSApp2" data-bs-parent="#iosSubAccordion">
|
|
||||||
<div class="accordion-body">
|
|
||||||
<p>Описание приложения 2 для iOS.</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="accordion-item">
|
<div class="accordion-item" data-os="Windows">
|
||||||
<h2 class="accordion-header" id="headingWindows">
|
<h2 class="accordion-header" id="headingWindows">
|
||||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseWindows" aria-expanded="false" aria-controls="collapseWindows">
|
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseWindows" aria-expanded="false" aria-controls="collapseWindows">
|
||||||
Приложения для Windows
|
Приложения для Windows
|
||||||
</button>
|
</button>
|
||||||
</h2>
|
</h2>
|
||||||
<div id="collapseWindows" class="accordion-collapse collapse" aria-labelledby="headingWindows" data-bs-parent="#appsAccordion">
|
<div id="collapseWindows" class="accordion-collapse collapse" aria-labelledby="headingWindows" data-bs-parent="#appsAccordion">
|
||||||
<div class="accordion-body">
|
<div class="accordion-body">
|
||||||
<div class="accordion" id="windowsSubAccordion">
|
<p>Описание приложений для Windows.</p>
|
||||||
<div class="accordion-item">
|
|
||||||
<h2 class="accordion-header" id="headingWindowsApp1">
|
|
||||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseWindowsApp1" aria-expanded="false" aria-controls="collapseWindowsApp1">
|
|
||||||
Приложение 1
|
|
||||||
</button>
|
|
||||||
</h2>
|
|
||||||
<div id="collapseWindowsApp1" class="accordion-collapse collapse" aria-labelledby="headingWindowsApp1" data-bs-parent="#windowsSubAccordion">
|
|
||||||
<div class="accordion-body">
|
|
||||||
<p>Описание приложения 1 для Windows.</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="accordion-item">
|
|
||||||
<h2 class="accordion-header" id="headingWindowsApp2">
|
|
||||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseWindowsApp2" aria-expanded="false" aria-controls="collapseWindowsApp2">
|
|
||||||
Приложение 2
|
|
||||||
</button>
|
|
||||||
</h2>
|
|
||||||
<div id="collapseWindowsApp2" class="accordion-collapse collapse" aria-labelledby="headingWindowsApp2" data-bs-parent="#windowsSubAccordion">
|
|
||||||
<div class="accordion-body">
|
|
||||||
<p>Описание приложения 2 для Windows.</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -138,26 +65,52 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
document.addEventListener('DOMContentLoaded', function () {
|
// Определение текущей ОС пользователя
|
||||||
const osDetection = document.getElementById('os-detection');
|
function detectOS() {
|
||||||
const userAgent = navigator.userAgent;
|
const userAgent = navigator.userAgent;
|
||||||
|
if (/android/i.test(userAgent)) return "Android";
|
||||||
|
if (/iPhone|iPad|iPod/i.test(userAgent)) return "iOS";
|
||||||
|
if (/Windows NT/i.test(userAgent)) return "Windows";
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
let os = 'Не удалось определить ОС';
|
// Сортировка аккордеона
|
||||||
if (/Android/i.test(userAgent)) {
|
function sortAccordion(currentOS) {
|
||||||
os = 'Android';
|
const accordionContainer = document.getElementById("appsAccordionContainer");
|
||||||
document.getElementById('collapseAndroid').classList.add('show');
|
const accordionItems = Array.from(document.querySelectorAll(".accordion-item"));
|
||||||
} else if (/iPhone|iPad|iPod/i.test(userAgent)) {
|
|
||||||
os = 'iOS';
|
// Сортируем элементы, чтобы текущая ОС была первой
|
||||||
document.getElementById('collapseiOS').classList.add('show');
|
accordionItems.sort((a, b) => {
|
||||||
} else if (/Windows NT/i.test(userAgent)) {
|
const osA = a.getAttribute("data-os");
|
||||||
os = 'Windows';
|
const osB = b.getAttribute("data-os");
|
||||||
document.getElementById('collapseWindows').classList.add('show');
|
if (osA === currentOS) return -1;
|
||||||
|
if (osB === currentOS) return 1;
|
||||||
|
return 0;
|
||||||
|
});
|
||||||
|
|
||||||
|
// Перестраиваем аккордеон
|
||||||
|
accordionContainer.innerHTML = "";
|
||||||
|
const newAccordion = document.createElement("div");
|
||||||
|
newAccordion.className = "accordion";
|
||||||
|
newAccordion.id = "appsAccordion";
|
||||||
|
|
||||||
|
accordionItems.forEach(item => newAccordion.appendChild(item));
|
||||||
|
accordionContainer.appendChild(newAccordion);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Инициализация
|
||||||
|
document.addEventListener("DOMContentLoaded", () => {
|
||||||
|
const currentOS = detectOS();
|
||||||
|
const osDetection = document.getElementById("os-detection");
|
||||||
|
|
||||||
|
if (currentOS) {
|
||||||
|
osDetection.textContent = `Ваша операционная система: ${currentOS}`;
|
||||||
|
sortAccordion(currentOS);
|
||||||
|
} else {
|
||||||
|
osDetection.textContent = "Не удалось определить вашу операционную систему.";
|
||||||
}
|
}
|
||||||
|
|
||||||
osDetection.textContent = `Ваша операционная система: ${os}`;
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user