Sosial Media
0
News
    Home Javascript Yêu Cầu

    Hướng dẫn thêm tính năng hiển thị code sau khi đếm ngược để hiển thị nội dung ẩn

    3 min read

    Theo yêu cầu của bạn Quản trị viên từ nhận xét này
    Em thấy có cách này để làm tăng thứ hạng từ khóa, như trên hình thì người tải cần nhập mã mới download được. Bác có hướng dẫn này không ạ? Cho em xin với

    Giới thiệu

    • Hiển thị 1 mã code 6 ký tự ngẫu nhiên cả số và chữ sau khi đếm ngược về 0 theo thời gian cài đặt
    • Nhập đoạn mã code để hiển thị nội dung ẩn
    • Nội dung ẩn sử dụng HTML nằm trong JS, có thể kết hợp với các công cụ mã hóa JS để bảo mật nội dung hơn

    Demo

    HTML để hiển thị đếm ngược và khung nhập mã

        <div id="countdown"></div>
        <div id="hidden-content" style="display: none;">
            <div id="hidden-text">Nhập code <span id="generated-code"></span> vào để download</div>
        </div>
        <div id="code-input">
            <input type="text" id="user-code" maxlength="6" autocomplete="off" placeholder="Nhập mã ở đây...">
            <button onclick="checkCode()">Download</button>
        </div>

    JS

            document.getElementById('code-input').style.display = 'none';
    
            let countdown = 30;
            let countdownDisplay = document.getElementById('countdown');
            let countdownInterval = setInterval(() => {
                countdown--;
                countdownDisplay.innerText = `Bạn có thể xem nội dung ẩn sau ${countdown} giây`;
                if (countdown <= 0) {
                    clearInterval(countdownInterval);
                    document.getElementById('hidden-content').style.display = 'block';
                    document.getElementById('code-input').style.display = 'block';
                    generateRandomCode();
                }
            }, 1000);
    
            function checkCode() {
                let userCode = document.getElementById('user-code').value;
                let generatedCode = document.getElementById('generated-code').innerText;
                if (userCode === generatedCode) {
                    document.getElementById('hidden-text').innerHTML = "<a href='#chapitre-02' class='button'>Xem hướng dẫn</a>";
                    document.getElementById('hidden-content').style.display = 'block';
                    document.getElementById('code-input').style.display = 'none';
                    document.getElementById('countdown').style.display = 'none';
                } else {
                    alert('Mã không đúng! Hãy thử lại.');
                }
            }
    
            function generateRandomCode() {
                let characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
                let code = '';
                for (let i = 0; i < 6; i++) {
                    code += characters.charAt(Math.floor(Math.random() * characters.length));
                }
                document.getElementById('generated-code').innerText = code;
            }
    Lưu ý: 30 là để cài đặt thời gian đếm ngược hiển thị mã và <a href='#chapitre-02' class='button'>Xem hướng dẫn</a> chính là nội dung ẩn, chấp nhận thẻ HTML và không sử dụng dấu đóng mở kép "

    Kết luận

    Như vậy là đã đáp ứng đủ các tính năng theo yêu cầu, tuy nhiên để có một giao diện đẹp hơn thì anh em tự tùy chỉnh nhé
    10 nhận xét
    Có cách nào để khi vào nguyenanhduy.com trên trình duyệt nó tự động chuyển đến trang sitemap, nhưng khi đã vào đc blog rồi thì ấn vào trang chủ nó vẫn ra trang chủ mặc định như bình thường (ko phải sitemap) ko Huy?

    Nghĩ mãi ko ra
    Bác thử js sau
    [pre]if (document.cookie.indexOf("visited=true") === -1) {
    window.location.href = "https://www.blogspotvi.net/p/site-map.html";
    document.cookie = "visited=true; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/";
    }[/pre]
    Thay https://www.blogspotvi.net/p/site-map.html thành link sitemap của bác
    Có được ko bác? 😁
    Nó không ổn như nào bác?
    Vì chỉ chạy khi trình duyệt chưa vào bjo
    Thì đúng rồi mà bác, vào 1 lần rồi thì tự lưu vào cookie để lần sau không vào sitemap nữa
    e muốn ngược lại: những trình duyệt đã vào rồi thì sẽ chuyển qua sitemap; chưa vào bjo thì vào home có đc ko bác
    Vậy bác thử đoạn js sau
    [pre]if (document.cookie.indexOf("visited=true") !== -1) {
    window.location.href = "https://www.blogspotvi.net/p/site-map.html";
    } else {
    document.cookie = "visited=true; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/";
    }[/pre]
    Additional JS